您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> Hibernate多对多单向出问题了

Hibernate多对多单向出问题了

来源:网络整理     时间:2016/7/26 17:08:49     关键词:

关于网友提出的“ Hibernate多对多单向出问题了”问题疑问,本网通过在网上对“ Hibernate多对多单向出问题了”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Hibernate多对多单向出问题了
描述:

一个食品类,一个客户类。
多对多的关系。。
我在客户类中有个食品集合
食品类那边没有客户类对象。
多对多关系所以有个中间表:  评论表
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="t_remark",
joinColumns={@JoinColumn(name="customer_id")},
inverseJoinColumns={@JoinColumn(name="food_id")})
public Set getRemarks() {
return remarks;
}
这是客户类中的食品集合对应的set方法,利用注解生成了中间表
我执行了一个hql语句查询出客户表中的所有数据
出现了failed to lazily initialize a collection of role: com.resturant.model.Customer.remarks, no session or session was closed 错误。
我把上面的lazy改成了eager就可以执行了。 但是这样每查出一个客户。
就会在评论表中根据这个客户查出和他有关系的所有的食品类。
这样效率很低。。
有什么办法可以解决吗?
我只想查出所有的客户,不查出食品类。 若想查出食品类,可根据客户id查询。
查食品的时候也只查出所有的食品,不查出客户。 


以上介绍了“ Hibernate多对多单向出问题了”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2948724.html

相关图片

相关文章