如何解决JPA查询@JoinTable
场景: 我有两个实体User和Program
@Entity
@Table(name = "user")
public class UserEntity implements Serializable{
@Id
public Long id;
public String firstName;
public String email;
@OnetoOne(cascade = CascadeType.ALL)
@JoinTable(
name = "user_program",joinColumns = {
@JoinColumn(name = "user_id",referencedColumnName = "id")
},inverseJoinColumns = {
@JoinColumn(name = "program_id",referencedColumnName = "id")
}
)
public ProgramEntity program;
}
JPQL:
SELECT
Program.name,COUNT(user.id) AS user_count
FROM UserEntity AS user
INNER JOIN ProgramEntity AS program on ________ GROUP BY Program.name
我试图获取每个程序中的用户数量,但是由于JoinTable
(中间表)不是一个实体,所以无法获得结果。谁能建议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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。