Hibernate - 查询 returns 实体中所有字段的空值,而同一查询 returns 完全来自数据库
Hibernate - Query returns null for all fields in entity while the same query returns perfectly from db
Hibernate - 为 Entity
中的所有字段查询 returns null
Long fooId = 39;
Query query = getCurrentSession().createQuery("from FooEntity where deleted IS FALSE AND id=:fooId" );
query.setParameter( "fooId", fooId );
FooEntity fooEntity = ( FooEntity ) query.uniqueResult();
检查 FooEntity 显示以下结果
(id=null, name=null, deleted=null)
虽然相同的查询 returns 来自 db
的完美结果
select * from foo where deleted IS FALSE AND id=39
(id, name, deleted) => (39, 'Bar', false)
It has to be noted that this occurs in random cases only. Most of the time hibernate returns perfect result.
可能是并发问题(当我们有相同的行为时,我们注意到线程之间共享会话)
线程之间的共享实体或会话或会话之间的共享实体可能会导致此类问题
请尝试log
或sysout
下一行的值。
我和 OP 的问题是一样的,只是 Java 调试器没有显示值。价值一直存在。
Hibernate - 为 Entity
中的所有字段查询 returns nullLong fooId = 39;
Query query = getCurrentSession().createQuery("from FooEntity where deleted IS FALSE AND id=:fooId" );
query.setParameter( "fooId", fooId );
FooEntity fooEntity = ( FooEntity ) query.uniqueResult();
检查 FooEntity 显示以下结果
(id=null, name=null, deleted=null)
虽然相同的查询 returns 来自 db
的完美结果select * from foo where deleted IS FALSE AND id=39
(id, name, deleted) => (39, 'Bar', false)
It has to be noted that this occurs in random cases only. Most of the time hibernate returns perfect result.
可能是并发问题(当我们有相同的行为时,我们注意到线程之间共享会话)
线程之间的共享实体或会话或会话之间的共享实体可能会导致此类问题
请尝试log
或sysout
下一行的值。
我和 OP 的问题是一样的,只是 Java 调试器没有显示值。价值一直存在。