У меня есть 3 объекта - группа пользователей, пользователь, группа пользователей. usergroupmemberships имеет 1 к 1 для пользователя и группы пользователей. я пытаюсь получить группы пользователей с его идентификатором
В моей БД работает следующий запрос:
SELECT *
FROM UserGroup g
JOIN UserGroupMembership ON
UserGroupMembership.usergroup_id = g.id
WHERE UserGroupMembership.user_id = 868
Wildfly:
то же самое, что и Java REST POST, который использует запрос от моего entitymanager, с нулевым значением_пересылки
SELECT g
FROM UserGroup g
JOIN UserGroupMembership
ON UserGroupMembership.usergroup = g.id
WHERE UserGroupMembership.user = :id
Как мне написать это правильно?
Попробовал разные способы написания запроса и попытался написать user_id
я на Wildfly и Java EE
public List<UserGroup> findUserGroupbyUser(long id) {
return em.createQuery("SELECT g FROM UserGroup g JOIN
UserGroupMembership ON UserGroupMembership.usergroup = g WHERE
UserGroupMembership.user.id = :id", UserGroup.class).setParameter("id",
id).getResultList();
}
@Entity
public class UserGroupMembership {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(cascade = CascadeType.ALL)
private UserGroup usergroup;
@OneToOne(cascade = CascadeType.ALL)
private User user;
ожидаемый результат - 1 запись