我遇到的情况是,卡实体具有某个人的外键。
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; } }
此人的默认获取类型为LAZY。我可以在查询中为EAGER指定获取类型:
QCard qCard = QCard.card; JPQLQuery query = getQuery().from(qCard); query.list(qCard);
谢谢你的帮助。
你试过了吗
QCard qCard = QCard.card; List<Card> cards = getQuery().from(qCard) .innerJoin(qCard.person).fetch() .list(qCard);
对于QueryDSL 4.0.2+
QCard qCard = QCard.card; List<Card> cards = getQuery().from(qCard) .innerJoin(qCard.person).fetchJoin() .select(qCard).fetch();