Hibernate中区分值(Value)类型和实体(Entity)类型
有时候再用Hibernate的时候会抛出这样的一个异常“Unknown entity class:mypack.Address”
[/size][size=medium] 比如说,上面的情况是这样的
session.load(Address.class,newLong(1));
session.save(addr);
packagemypack;
importjava.io.Serializable;
publicclassCustomerimplementsSerializable{
privateLongid;
privateStringname;
privatemypack.AddresshomeAddress;
//省略构造方法
}
Address类是一个包含省市县的类
,很显然Address类没有OID,这是Hibernate组建的一个重要特征。由于Address类没有OID,因此不能通过Session来单独保存、更新、删除或者添加一个Address对象。
Hibernate把持久化类分为两种:值类型和实体类型。
两者最为重要的区别就是前者没有OID,不能被单独持久化,他的生命周期依赖于所持久化类的对象的生命周期。试题类型有OID所以可以持久化