public class NumberType implements java.io.Serializable { // Fields private Integer id;
private List<CardsNumber> cardsNumbers;}// ------------------------------------------------------------- //
public class CardsNumber implements java.io.Serializable {
private Integer id;
private String number;
}我怎么查询NumberType记录的时候把 CardsNumber 数据也查询出来,也就是说查询NumberType 对象中的cardsNumbers属性有值。
我的HQL语句应该怎么写,等待高手的降临
private List<CardsNumber> cardsNumbers;
}红色的那个配置改成级联查询 深度你可以写也可以不写
建议深度为1
where nt.cardsNumbers.id = cn.id 这样应该也是可以查出来的
如果可以的话,配置双向广联,你查一张表的时候,他也会把你另外广联的字段给拿出来.【效率问题,服务器压力】
hql="FROM NumberType"就可以了.NumberType nt= (NumberType)session.createQuery("from NumberType").list().get(0);
for(Iterator iterator = nt.getCardsNumbers().iterator();iterator.hasNext();){
CardsNumber cn=(CardsNumber) iterator.next();
}
加载设为false会加大系统开销,一般采用fetch这样提高效率
from NumberType left join fetch cardsNumbers