休眠会话如何工作

时间:2011-06-01 04:37:15

标签: hibernate

我在Hibernate中有一些简单的查询。

  1. 如果我假设有两个实例正在运行,并且每个实例都在使用自己的hibernate会话。如果一个会话将数据插入数据库并且第二个会话尝试检索新数据,它是否能够获取该数据?

  2. 我已将主键设置为由DB序列生成。 所以我创建一个实例并调用save()但不提交事务。我仍然能够获得该实例的ID。那个时候是否正在进行数据库调用,或者hibernate如何维护其会话?

1 个答案:

答案 0 :(得分:2)

  1. 是的,一旦数据提交给DB;这取决于交易中配置的isolation level

  2. 是的,它将类似于select nextval('MY_SEQUENCE');这将是为实体设置的ID;所以,即使交易尚未提交,您也有一个ID。

  3. This article值得一读。