Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.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 @JoinTable的JPA查询_Java_Spring Boot_Hibernate_Jpa_Jpql - Fatal编程技术网

Java @JoinTable的JPA查询

Java @JoinTable的JPA查询,java,spring-boot,hibernate,jpa,jpql,Java,Spring Boot,Hibernate,Jpa,Jpql,场景: 我有两个实体用户和程序 @实体 @表(name=“user”) 公共类UserEntity实现可序列化{ @身份证 公共长id; 公共字符串名; 公共字符串电子邮件; @OneToOne(级联=级联类型.ALL) @可接合( name=“user\u程序”, joinColumns={ @JoinColumn(name=“user\u id”,referencedColumnName=“id”) }, 反向连接列={ @JoinColumn(name=“program\u id”,ref

场景: 我有两个实体用户和程序

@实体
@表(name=“user”)
公共类UserEntity实现可序列化{
@身份证
公共长id;
公共字符串名;
公共字符串电子邮件;
@OneToOne(级联=级联类型.ALL)
@可接合(
name=“user\u程序”,
joinColumns={
@JoinColumn(name=“user\u id”,referencedColumnName=“id”)
},
反向连接列={
@JoinColumn(name=“program\u id”,referencedColumnName=“id”)
}
)
公共项目实体项目;
}
JPQL:

SELECT
   Program.name,
   COUNT(user.id) AS user_count
FROM UserEntity AS user
INNER JOIN ProgramEntity AS program on ________ GROUP BY Program.name

我试图获取每个程序中的用户数,但由于
连接表
(中间表)不是实体,因此无法获取结果。有人可以建议JPQ连接联接表吗?

您可以使用实体对象进行联接,不需要“ON”。以你为例,

SELECT prg.name, COUNT(user.id) AS user_count FROM UserEntity AS user INNER JOIN user.program AS prg GROUP BY prg.name