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