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
Java 多对多联接表的JPQL查询_Java_Jpa_Many To Many_Jpql - Fatal编程技术网

Java 多对多联接表的JPQL查询

Java 多对多联接表的JPQL查询,java,jpa,many-to-many,jpql,Java,Jpa,Many To Many,Jpql,我有两个实体用户和AccountBase,具有多对多关系。 我需要从联接表中选择具有选定用户ID的所有AccountBase对象。 我尝试了一些连接查询,但不起作用 @Table(name = "ACCOUNT") @DiscriminatorColumn(name = "ACCOUNT_TYPE", length = 1) public abstract class AccountBase extends ModelBase { protected d

我有两个实体用户和AccountBase,具有多对多关系。 我需要从联接表中选择具有选定用户ID的所有AccountBase对象。 我尝试了一些连接查询,但不起作用

    @Table(name = "ACCOUNT")
    @DiscriminatorColumn(name = "ACCOUNT_TYPE", length = 1)
    public abstract class AccountBase extends ModelBase {

        protected double balance;
        protected List<User> users = new ArrayList<>();
@表(name=“ACCOUNT”)
@鉴别器列(name=“ACCOUNT\u TYPE”,长度=1)
公共抽象类AccountBase扩展了ModelBase{
保护双重平衡;
受保护的列表用户=新建ArrayList();
@Table(name=“USER\u ACCOUNT”)
公共类用户扩展ModelBase实现可序列化{
私有静态最终长serialVersionUID=1L;
受保护的字符串名称;

受保护列表

从帐户库加入用户实体

select account from AccountBase account join account.users user where user.id=? 

我以前尝试过这个,但没有成功,这就是我得到的。
org.glassfish.jersey.server.internal.process.MappableException:com.fasterxml.jackson.databind.JsonMappingException:Infinite recursion(StackOverflowError)(通过引用链:org.eclipse.persistence.indirection.indirection.IndirectList[0]->com.algonquincollege.cst8277.models.User[“bankAccounts”]->org.eclipse.persistence.indirection.IndirectList[0]->com.algonquincollege.cst8277.models.InvestmentAccount[“users”])
InvestmentAccount从AccountBase扩展而来。这是一个不同的错误。当您映射到json时,您有一个无限循环,请将@JsonIgnore放在Account中的用户之前或UserBancaccounts之前谢谢。我通过在两个实体中添加@jsonignoreporties解决了这个问题。
select account from AccountBase account join account.users user where user.id=?