【发布时间】:2010-12-08 14:20:56
【问题描述】:
我目前正在从 Hibernate 切换到纯 JPA 2(顺便说一下,这比我最初预期的要耗时得多)。
到目前为止,我遇到的最大问题是找到一种强制加载惰性属性的方法。
在 Hibernate 中,这是使用:criteria.setFetchMode("person", FetchMode.JOIN);.
JPA 2 有没有办法做到这一点?
【问题讨论】:
标签: jpa-2.0
我目前正在从 Hibernate 切换到纯 JPA 2(顺便说一下,这比我最初预期的要耗时得多)。
到目前为止,我遇到的最大问题是找到一种强制加载惰性属性的方法。
在 Hibernate 中,这是使用:criteria.setFetchMode("person", FetchMode.JOIN);.
JPA 2 有没有办法做到这一点?
【问题讨论】:
标签: jpa-2.0
试试这个:
CriteriaQuery<Person> c = cb.createQuery(Person.class);
Root<Person> person = c.from(Person.class);
person.fetch("address");
c.select(person);
假设您的 Person 实体和 Address 实体之间存在一对一的关系。
【讨论】:
CriteriaQuery<JerarquiaOrganizacional> criteria = cb.createQuery(JerarquiaOrganizacional.class); Root<JerarquiaOrganizacional> jerarquiaOrg = criteria.from(JerarquiaOrganizacional.class); jerarquiaOrg.fetch("jerarquiaOrganizacional", JoinType.LEFT);