Jpa 从左侧加入,不引用@ManyToMany
我有三张桌子Jpa 从左侧加入,不引用@ManyToMany,jpa,criteria-api,Jpa,Criteria Api,我有三张桌子 LEFT ---------|<- LEFT_RIGHT ->|--------- RIGHT 请注意,Left和Right都没有对LeftRights的任何引用 在加入LeftRight时,Criteria API有没有办法从Left中进行选择?您可以为LeftRight创建条件查询,并使用投影检索Left属性: session.createCriteria(LeftRight.class) // Add whatever restrictions on L
LEFT ---------|<- LEFT_RIGHT ->|--------- RIGHT
请注意,Left
和Right
都没有对LeftRight
s的任何引用
在加入
LeftRight
时,Criteria API有没有办法从Left
中进行选择?您可以为LeftRight
创建条件查询,并使用投影检索Left
属性:
session.createCriteria(LeftRight.class)
// Add whatever restrictions on Left properties
.createCriteria("left")
.add(Restrictions.like("name", "%something%"))
// Use projection to retrieve the left property
.setProjection(Projections.property("left"));
是的,只需选择一个选项
CriteriaQuery cq = cb.createQuery();
Root r = cq.from(LeftRight.class);
cq.select(r.get("left"));
cq.where(...);
Query query = em.createQuery(cq);
上面的代码使用Hibernate API,它不是JPA标准API。您能否展示如何使用JPA标准API实现上述功能?