【发布时间】:2014-12-14 03:42:43
【问题描述】:
来自以下来源:hibernate transaction eg.
写的是,一个典型的交易应该使用以下成语:
Session sess = factory.openSession();
Transaction tx;
try {
tx = sess.beginTransaction();
//do some work
...
tx.commit();
}
catch (Exception e) {
if (tx!=null) tx.rollback();
throw e;
}
finally {
sess.close();
}
我的问题是 tx 对象如果进入 catch 块有什么,即发生任何异常,这是 tx.commit() 的结果吗?如果是,那么如何,因为它什么也不返回。 我的意思是问 tx 的值在何时何地发生变化,变化到什么程度?
问题2)是否有必要在只读事务的情况下开始事务,即选择查询..
【问题讨论】:
-
如果您的实体中有一些惰性集合或代理实体并且您想使用它们(例如通过调用 entity.getMyLazyList()),您需要一个事务进行选择。我没有得到你的第一个问题
标签: java database hibernate jpa transactions