我有@ManyToMany关系的卡片和菜单。所以,在我的数据库中我有3个表(卡片,菜单,card_menu)。我也写了sql-query,它获取了正确的数据:
str1 <- "azertyuiop"
但是我将此查询转换为hibernate条件查询时遇到问题。此刻我创建了下一个查询:
select *
from card as c
inner join menu as children on (children.parent_menu=3)
inner join menu_card on (menu_card.card=c.id and menu_card.menu=children.id)
我的问题是加入表“menu_card”,即实际上它不存在于我的客观模型中。
UPD:我的实体
Criteria criteria=sessionFactory.getCurrentSession().createCriteria(Card.class,"c")
.createAlias("c.menus", "children")
.add(Restrictions.eq("children.parentMenu", 3))
.createAlias("c.menus","menu")
.add(Restrictions.conjunction(Restrictions.eq("menu.card","c.id"),Restrictions.eq("menu.id","children.id")))