两个类Product和Business,对应两张表product和business两者用Hibernate映射为ManyToMany的关系,各自在对方中保存一个java.util.Set的引用,对应为名称为businesses和products。生成了一个中间表business_product.
现要用 Spring 的 HibernateTemplate 类的 find() 方法求business.id = xxxx的Product(一个List)这个HQL怎么写啊?
这是我写的,报错了select p from Product p where p.id in (select b.products.id from Business b where b.id="+business.getId()+")
hibernateHQL对于ManyToMany的查询
答案:2 悬赏:60
解决时间 2021-12-21 20:09
- 提问者网友:白越
- 2021-12-20 21:47
最佳答案
- 二级知识专家网友:而你却相形见绌
- 2021-12-20 22:33
多对多就不需要写Set集合了. 只要在Entity中包含另一张表的Class就可以了.
比如 双向多对多的, 只需要在Product类中, private Business business;
在Business类中, private Product product;
多对多不需要集合的. 如果是一对多就要在一方的那个Class写Set集合了.
加我Q吧 1015113139
希望有帮助.
比如 双向多对多的, 只需要在Product类中, private Business business;
在Business类中, private Product product;
多对多不需要集合的. 如果是一对多就要在一方的那个Class写Set集合了.
加我Q吧 1015113139
希望有帮助.
全部回答
- 1楼网友:花一样艳美的陌生人
- 2021-12-20 23:17
this.gethibernatetemplate().find("from用户表对应的pojo对象user,角色表对应的pojo对象role,部门表对应的pojo对象departwhereuser.name='akk'androle.name='bbb'anddepart.name='keng'anduser.departid=depart.idanduser.roleid=role.id");
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯