我遇到的情况是,卡实体具有人员的外键。
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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)