Mam sytuację, w której encja Card ma klucz obcy dla osoby.Tryb pobierania Querydsl w zapytaniu
public class Card implements java.io.Serializable {
private String cardid;
private Person person;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="USERID")
public Person getPerson() {
return this.person;
}
}
Domyślnym typem pobierania dla osoby jest LAZY. Czy mogę określić typ pobrania dla EAGER w zapytaniu:
QCard qCard = QCard.card;
JPQLQuery query = getQuery().from(qCard);
query.list(qCard);
Dzięki za pomoc.
Możesz po prostu zadzwonić do 'getPerson()' metody, aby załadować obiekt Person zanim obiekt zostanie odłączony, masz konkretny powód, aby zmienić typ pobierał? –
Powodem, dla którego chcę zmienić typ pobierania, jest optymalizacja zapytania. Mam przypadek, w którym muszę załadować wiele obiektów kluczy obcych. Wydaje się działać wolno. – Marko
Poszukujesz słowa kluczowego "FETCH" z JPAQL w QueryDSL. Czy tego właśnie szukasz? https://groups.google.com/forum/#!msg/querydsl/Geexg_eN2yA/iREXf-DM0nwJ –