Нужна помощь в переводе MYSQL DB Sql Query в запрос Jpql - PullRequest
0 голосов
/ 03 января 2019

У меня есть 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 запись

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...