Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/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
Java JPA:加入前筛选数据_Java_Jpa - Fatal编程技术网

Java JPA:加入前筛选数据

Java JPA:加入前筛选数据,java,jpa,Java,Jpa,我有一个典型的用户成员组关系: @Entity public class User { @Id private Long id; private String name; @OneToMany(mappedBy = "user") private List<Membership> memberships } @Entity public class Group { @Id private Long id; privat

我有一个典型的用户成员组关系:

@Entity
public class User
{
    @Id
    private Long id;
    private String name;
    @OneToMany(mappedBy = "user")
    private List<Membership> memberships
}

@Entity
public class Group
{
    @Id
    private Long id;
    private String name;
    @OneToMany(mappedBy = "group")
    private List<Membership> members;
}

@Entity
public class Membership
{
    @Id private Long id;
    private String status;
    @ManyToOne private User user;
    @ManyToOne private Group group;
}
请注意join谓词中的附加限制
和m.user_id=1
,它在加入之前为我感兴趣的成员身份的用户过滤数据

我似乎找不到一种方法来用JPA来做到这一点。据我所知,连接中的子选择在JPA中是不可能的,类似于上面的内容不能直接在JPQL中编写

看来我完全走错了方向,如果有人对此有新的看法,能给我一个指点,我将不胜感激

更新:


看起来(JPA2.1)将增加对ON条件的支持。在此之前,我如何克服这个限制?

如果您使用的是EclipseLink,EclipseLink 2.4中支持ON子句


否则,您可以使用本机SQL查询。

不完全是对我的问题的回答,因为这两种查询都只在JPA之外工作。