Querydsl set fetch mode in a query
hibernate, java, querydsl
Solution
Did you try
QCard qCard = QCard.card;
List<Card> cards = getQuery().from(qCard)
.innerJoin(qCard.person).fetch()
.list(qCard);
For QueryDSL 4.0.2+
QCard qCard = QCard.card;
List<Card> cards = getQuery().from(qCard)
.innerJoin(qCard.person).fetchJoin()
.select(qCard).fetch();
Problem
I have a situation where a Card entity has a foreign key to a Person. ``` 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; } } ``` The default fetch type for the person is LAZY. Can I specify the fetch type to EAGER within a query: ``` QCard qCard = QCard.card; JPQLQuery query = getQuery().from(qCard); query.list(qCard); ``` Thanks for any help.