小弟我初学SpringSide,看到DAO里有这样的写法,
[code="java"]public T get(Class entityClass, Serializable id)[/code]
这个地方用Serializable是什么意思呢?
这个是泛型DAO中的写法,表示ID是一个可以序列化的类型,你真正用的时候ID可以是long,int等任意类型,Hibernate中很多API都是这么些的,Spring提供的HibernateTemplate也一样
因为你的ID可能是复杂数据类型,比如符合主键对应的类,方法参数的id声明为Serializable,你就可以给这个方法传递任何实现了这个接口的对象了,一般Hibernate使用的POJO都会实现这个接口
实现Serializable接口表示是可序列化的。序列化是把一个对象的状态写入一个字节流的过程。其实只有在执行远程调用(比如webservice调用)的时候才有用,远程调用是指一台机器上的JAVA程序调用不同机器上的JAVA程序方法,对象可以作为参数提供给那个远程方法,这时候就要求对象必须可序列化,发送程序序列化该对象并传送它,接收程序执行反序列化复原该对象。