多对多关系查询JPA的问题

时间:2019-12-03 20:24:51

标签: java spring jpa

我有两个具有多对多关系的实体UserRole。我想获取特定的role_id的{​​{1}}。

user_id

我应该如何在JPA中编写查询?

1 个答案:

答案 0 :(得分:1)

首先,如果您使用createNativeQuery,则将提供本机SQL查询。如果要使用JPQL,请使用createQuery

要通过用户ID选择role_id,请执行

select role.id from Role role join role.users user where user.id=:p1

之后,您可以做

entityManager.createQuery("query").setParameter("p1", user.getId()).getResultList();