学了一段时间的Hibernate了,但对其中一个方法有一个疑问:org.hibernate.session的get(Class clz,Serializable sid)方法,其中,我只知道sid给它表中一条记录的ID值和实体类.class就可以查出这条记录对应的实体类对象了,但我不知道为什么这里是Serializable对象而不是普通的Long或Integer对象,这里的Serializable是什么有什么含义?谢谢!

解决方案 »

  1.   

    "方法public Object get(Class clazz,Serializable id);
    显然是查找对象时所需要的表(即实体类)和id(即主键,主键可以是一个列项或多个列项)因为主键需要被hibernate进行管理以用来在session中'备份'或者实现远程传递等等,序列化是有必要的。"
    --摘自网络
    还是不太懂,表中的ID被序列化,那为什么用Serializable传递?
      

  2.   

     Serializable 序列化  一般都用在实体类
      

  3.   

    Serializable  就是序列化的意思,可以传输实体,而不用引用,也安全,我认为可以算是new了一个有状态的对象