简单学会Hibernate对象持久化

Hibernate对象持久化技术如何实现呢?本文将教你如何更简单更加快速的学会Hibernate对象持久化技术。

Hibernate对象持久化类(persistent class)新实例化的对象是瞬时(Transient)的。 我们可通过将瞬时(Transient)对象与session关联而把它变为持久(Persistent)的。

DomesticCat fritz = new DomesticCat();  


fritz.setColor(Color.GINGER);  


fritz.setSex('M');  


fritz.setName("Fritz");  



Long generatedId = (Long) sess.save(fritz); 

如果Cat的持久化标识(identifier)是generated类型的, 那么该标识(identifier)会自动在save()被调用时产生并分配给cat。 如果Cat的持久化标识(identifier)是assigned类型的,或是一个复合主键(composite key), 那么该标识(identifier)应当在调用save()之前手动赋予给cat。 你也可以按照EJB3 early draft中定义的语义,使用persist()替代save()。

此外,你可以用一个重载版本的save()方法。

DomesticCat pk = new DomesticCat();  


pk.setColor(Color.TABBY);  


pk.setSex('F');  


pk.setName("PK");  


pk.setKittens( new HashSet() );  


pk.addKitten(fritz);  


sess.save( pk, new Long(1234) ); 

相关推荐