Hibernate中区分值(Value)类型和实体(Entity)类型

有时候再用Hibernate的时候会抛出这样的一个异常“Unknown entity class:mypack.Address”
比如说,上面的情况是这样的
session.load(Address.class,new Long(1));
session.save(addr);




package mypack;
import java.io.Serializable;
public class Customer implements Serializable{

private Long id;
private String name;
private mypack.Address homeAddress;
//省略构造方法
}
Address 类 是一个包含省市县的类
,很显然Address类没有OID,这是Hibernate组建的一个重要特征。由于Address 类没有OID,因此不能通过Session来单独保存、更新、删除或者添加一个Address对象。
Hibernate把持久化类分为两种:值类型和实体类型。
两者最为重要的区别就是前者没有OID,不能被单独持久化,他的生命周期依赖于所持久化类的对象的生命周期。试题类型有OID所以可以持久化
[/size][size=medium]

猜你喜欢

转载自hitxueliang.iteye.com/blog/1127329