Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate查询显示旧值_Java_Oracle_Hibernate - Fatal编程技术网

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总是转到数据库,因为您没有加载任何实体。显示为更新代码和您的事务策略,也许能够告诉您更多您提交了您的事务吗/