Glassfish / Hibernate保存而不显式调用save

时间:2011-11-22 19:14:34

标签: hibernate jpa glassfish persistence container-managed

我使用Glassfish 2和容器管理持久性与Hibernate 3.2作为持久性提供程序。我的业务逻辑中有一些finder方法,它操纵一些持久性实体,这些实体已经通过EntityManager获取。操作只是更改String属性(从集合中删除元素会产生相同的效果) 我不会在我的EntityManager上调用 save persist 之类的内容。我只想将一些已更改的实体返回给我的客户。

似乎当容器提交事务时,我的实体的更改会自动保存。到目前为止,我是否完全错过了一些神奇的Hibernate或Glassfish行为?

1 个答案:

答案 0 :(得分:4)

如果您获取的实体处于Managed状态,那么在交易结束时,对该实体所做的更改将被保留。这是JPA提供商必须遵守的合同。

这个问题可能对您有所帮助:Transactional saves without calling update method