Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 从左侧加入,不引用@ManyToMany_Jpa_Criteria Api - Fatal编程技术网

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实现上述功能?