【发布时间】:2012-02-09 16:11:54
【问题描述】:
我有一个 EJB,它的方法(除其他外)加载一个实体并修改它。如果该方法完成,那么该实体的修改会自动提交到数据库而不调用 EntityManager.saveOrUpdate() 方法?并且当方法失败时,该 EJB 方法的事务将与该实体的修改一起回滚?
【问题讨论】:
标签: jakarta-ee
我有一个 EJB,它的方法(除其他外)加载一个实体并修改它。如果该方法完成,那么该实体的修改会自动提交到数据库而不调用 EntityManager.saveOrUpdate() 方法?并且当方法失败时,该 EJB 方法的事务将与该实体的修改一起回滚?
【问题讨论】:
标签: jakarta-ee
使用 EJB,您的方法隐含地与事务绑定。 如果您使用实体管理器加载实体,则实体将附加持久上下文,因此如果您对对象进行修改,则在事务结束时,如果一切正常,则事务提交并将修改刷新到数据库,否则如果事务回滚时发生一些错误,并且修改被丢弃。
【讨论】: