Java Hibernate查询显示旧值
我的问题是在查询中使用Java Hibernate查询显示旧值,java,oracle,hibernate,Java,Oracle,Hibernate,我的问题是在查询中使用addEntity(MyEntityObject.class),结果不是我所期望的,而是我看到的旧值,即更新操作之前的值 我的Hibernate配置文件不包含特定配置,只包含db连接、show sql属性true(用于我的调试)以及对我的hbm文件的所有引用 如果我尝试使用映射对象获取数据,我会得到旧值: List resultSet=session.createSQLQuery(“从表中选择*).addEntity(MyEntityObject.class).List()
addEntity(MyEntityObject.class)
,结果不是我所期望的,而是我看到的旧值,即更新操作之前的值
我的Hibernate配置文件不包含特定配置,只包含db连接、show sql属性true(用于我的调试)以及对我的hbm文件的所有引用
如果我尝试使用映射对象获取数据,我会得到旧值:
List resultSet=session.createSQLQuery(“从表中选择*).addEntity(MyEntityObject.class).List();
相反,如果我尝试像对象列表数组一样获取数据,则一切正常:
List resultSet=session.createSQLQuery(“从表中选择*).List();
我想知道这种行为的原因是什么,所以第一种方法可能有什么问题。您需要向我们展示代码Hibernate应该在选择之前刷新对数据库的每次修改,但是这种行为可以改变。我认为,在第一种情况下,hibernate意识到您正在尝试加载已加载到持久性上下文中的实体,因此它们不会被刷新。在第二种情况下,hibernate总是转到数据库,因为您没有加载任何实体。显示为更新代码和您的事务策略,也许能够告诉您更多您提交了您的事务吗/