문제

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.

도움이 되었습니까?

해결책

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();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top