12
我目前在从休眠切换过程以纯JPA 2(其中的方式被证明是更耗时比我最初的预期)。
到目前为止,我遇到的最大问题是找到一种方法来迫使加载惰性属性。
使用休眠时,使用:criteria.setFetchMode("person", FetchMode.JOIN);
。
有没有办法用JPA 2做到这一点?FetchMode在JPA 2 CriteriaQuery中
我目前在从休眠切换过程以纯JPA 2(其中的方式被证明是更耗时比我最初的预期)。
到目前为止,我遇到的最大问题是找到一种方法来迫使加载惰性属性。
使用休眠时,使用:criteria.setFetchMode("person", FetchMode.JOIN);
。
有没有办法用JPA 2做到这一点?FetchMode在JPA 2 CriteriaQuery中
试试这个:
CriteriaQuery<Person> c = cb.createQuery(Person.class);
Root<Person> person = c.from(Person.class);
person.fetch("address");
c.select(person);
假设有你的Person
实体和Address
实体之间的一个一对一的关系。
此外,如果你想检索层次结构件(根特殊情况),你应该使用左连接这样。 `CriteriaQuery criteria = cb.createQuery(JerarquiaOrganizacional.class); 根 jerarquiaOrg = criteria.from(JerarquiaOrganizacional.class); “jerarquiaOrganizacional”,JoinType.LEFT);` –
dennisbot
2016-01-28 19:18:37