hibernate中,如果我使用get(Class clazz, Serializable id)方法根据id获得一个对象的时候,为什么id类型要是有Serializable接口呢?
我们以前使用id一般都使用int或其它类型吗,为什么在Hibernate中这里用Serializable,目的是什么?
急,!在线等谢谢

解决方案 »

  1.   


    目的是找到同样实现Serializable接口的主键,你以前使用的id类型一般都已经实现了Serializable接口,
    这种接口编程是一种很良好的编程风格,象这样定义也就更宽泛,更具有面向功能性.
      

  2.   

    Serializable是序列化。Hibernate有缓存机制,通过使用Serializable,断定应该是基于序列化的缓存。。
    如果没有Serializable接口,在序列化时,使用ObjectOutputStream的方法write(Object obj)将对象保存到文件将抛出异常。
    Java大部分常见类都实现了Serializable,例如Integer,String等等。如果是Bean,也需要实现Serializable接口