【发布时间】:2014-12-31 12:35:51
【问题描述】:
在 jpa 2.1 中,api StoredProcedureQuery 已被表示为调用 JDBC CallableStatement。 问题是当我在非事务性方法中调用执行一些插入操作的 oracle 过程时,我不希望更改提交,但看起来更改将提交时令人震惊。 它有什么问题?
【问题讨论】:
-
如果您在事务之外调用查询,那么您希望 JPA 提供程序做什么?这不是通灵的。如果你想控制的话,把它放在一个 txn 中
-
我希望它什么也不做。但我无法理解提交 tx 的内容。
-
如果您在事务之外执行“它”,那么这就是“自动提交”(在这种情况下唯一有意义的事情)。我看不出这有多“令人震惊”。只需将事务放入并回滚
-
不,它不是自动提交,因为我已将其设置为 false。这就是它令人震惊的原因。
-
愿意解释一下您认为“我已将其设置为 false”的内容吗? JPA 没有这样的“AUTO COMMIT”概念。它唯一拥有的是一个 FlushModeType,它适用于你在交易中的时候。如果你想做“一些 INSERT 操作”并且不希望它提交,那么 ROLL IT BACK
标签: java hibernate jpa jpa-2.1