本文共 698 字,大约阅读时间需要 2 分钟。
在Hibernate应用中,新创建一个Entity对象,其状态为transient。
要将该Entity对象转变为managed/persistent状态,可以有save()、persist()两种方法,示例如下。
save方法:
Person person = new Person();person.setId( 1L );person.setName("John Doe");session.save( person );persist方法:
Person person = new Person();person.setId( 1L );person.setName("John Doe");session.persist( person );事实上,persist方法并未真正实现对Entity对象的操作,而只是个代理方法,方法中进一步调用了JPA实现中的persist方法。JPA实现中的persist方法调用示例如下:
Person person = new Person();person.setId( 1L );person.setName("John Doe");entityManager.persist( person );注意:Entity对象由transient状态转变为managed/persistent状态,Entity对象中的标识符属性从无到有。如果设置了自动生成标识符,则无需多虑。如果没有为Entity类设置自动生成标识符,则在调用save()或persist()方法之前,必须手工赋予一个唯一标识符,才能够调用save()或persist()方法。
转载地址:http://kilai.baihongyu.com/