我们应该在hibernate中创建Domain Class时实现Serializable接口

时间:2014-07-05 08:42:22

标签: java spring hibernate jpa

我是hibernate的新手。我尝试使用hibernate API进行一些基本的CRUD操作。

我创建了一个Person类

@Entity
class Person
{
   String name
}

我能够在数据库中保存这个类。直到现在我才认为JPA内部使这个类实现了Serializable,因为只有序列化可以保存对象的状态。但是我试过这个:

Person p=new Person();
boolean bool=p instanceof Serializable;    
sop(bool);   //false

然后我创建了另一个类Human(在Hibernate doc上找到了这种实现方式)

@Entity
class Human implements Serializable
{
    String name    
}

Human h=new Human();
boolean bool=h instanceof Serializable    
sop(bool);  //true

我们应该以哪种方式创建我们的域类以及hibernate如何在内部处理这两种方式?

请帮忙。

1 个答案:

答案 0 :(得分:6)

如果您的实体将通过网络传输,存储在HTTP会话中,甚至存储在硬盘上的文件中,那么它们必须实现Serializable。否则Hibernate与序列化无关,请在此处查看更多

Do Hibernate table classes need to be Serializable?

Beans serialization in JSP