hibernate4为什么在执行save ()后直接查询直接查询不到数据
同样的配置在hibernate3这样是能查询到数据的,换到hibernate4就是查不到,
就像save()操作没有把对象缓存一样,这样是为什么呀?下面是配置
<property name="dialect">
org.hibernate.dialect.MySQL5InnoDBDialect
</property>
<property name="current_session_context_class">jta</property>
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JTATransactionFactory
</property>
<property name="hibernate.transaction.manager_lookup_class">
com.atomikos.icatch.jta.hibernate3.TransactionManagerLookup
</property>
<property name="connection.release_mode">auto</property>
<property name="hibernate.transaction.flush_before_completion">
true
</property>
<property name="hibernate.transaction.auto_close_session">
true
</property>
事务用的JTA
java代码时在同一个事务里添加和查询的:
User user = new User()
user.setOid("123");
...
Dao.save(user);
list lst = Dao.query("User","where oid='123'");
结果lst为空
理论上save后对象应该缓存在Session里的吧,查询的话也应该查询到缓存里对象吧,可是为什么查询不到呢?
经过验证,对象确实在session里,但是在同一个事务内就是查询不到,为什么呢?