当创建使用“withClause”的 hibernate 条件查询时,关联始终是惰性的。
Criteria criteria = session.createCriteria(A.class, "a");
criteria.setFetchMode("a.b", FetchMode.JOIN);
criteria.createAlias("a.b", "b", JoinType.INNER_JOIN, Restrictions.eq("b.someOtherColumn", 5));
List list=criteria.list();
在这种情况下,“b”将导致惰性集合。有没有办法仍然使用条件查询来解决这个问题?我必须使用 withClause 来获取正确的根实体。
最佳答案
像这样使用它:
Criteria criteria = session.createCriteria(A.class, "a");
criteria.createAlias("a.b", "b");
criteria.add(Restrictions.eq("b.someOtherColumn", 5));
List list=criteria.list();
关于java - 带有 withClause 参数的 Hibernate createAlias() 会导致惰性收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39312444/