hibernate中save()和persist()的区别

xiaoxiao2021-02-28  21

hibernate之所以提供与save()功能几乎完全类似的persist()方法,一方面是为了照顾JPA的用法习惯;另一方面是save()和persist()方法还有一个区别:使用save()方法保存持久化对象时,该方法返回该持久化对象的标识属性值(即对应记录的主键值);但使用persist()方法来保存持久化对象时,该方法没有任何返回值。因为save()方法需要立即返回持久化对象的标识属性值,所以程序执行save()方法会立即将持久化对象对应的数据插入数据库;而persist()则保证当它在一个事物外部被调用时,并不立即转换成insert语句。这个功能是很有用的,尤其是需要封装一个长会话流程的时候, persist()方法就显得尤为重要了。
转载请注明原文地址: https://www.6miu.com/read-2150377.html

最新回复(0)