Привет, у меня есть 2 таблицы в отношениях многие ко многим:
Пользователь:
Entity
@Table(name = "user_user")
@Where(clause = "is_delete <> 'Y'")
public class User extends CommonColumn {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Getter @Setter
private long id;
@Column(name="fullname")
@Getter @Setter
private String fullName;
@Type(type = "yes_no")
@Column(name="is_active")
@SortableField
@Field(termVector = TermVector.YES)
@Getter @Setter
private boolean isActive;
@Type(type = "yes_no")
@Column(name="is_delete")
@Getter @Setter
private boolean isDeleted;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = UserConstants.REFERENCE_GROUP_USER,
joinColumns = {@JoinColumn(name = "user_id")},
inverseJoinColumns = {@JoinColumn(name = "user_group_id")}
)
@JsonBackReference
@Getter @Setter
List<Group> groups = new ArrayList<Group>();
И группа пользователей:
@Entity
@Table(name="user_group")
public class Group extends CommonColumn {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Getter @Setter
private Long id;
@Column(name="group_name")
@Getter @Setter
private String groupName;
@Type(type = "yes_no")
@Column(name="is_active")
@Getter @Setter
private boolean isActive;
@Type(type = "yes_no")
@Column(name="is_deleted")
@Getter @Setter
private boolean isDeleted;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = UserConstants.REFERENCE_GROUP_USER,
joinColumns = {@JoinColumn(name = "user_group_id")},
inverseJoinColumns = {@JoinColumn(name = "user_id")}
)
@JsonBackReference
@Getter @Setter
List<User> users = new ArrayList<User>();
}
И я хотел бы выбрать только те группы пользователей, у которых есть пользователи с is_active = true. Я пробовал:
@Query(value = "SELECT ug from User u INNER JOIN user_group_user ugu ON u.id = ugu.user_id\r\n" +
"INNER JOIN user_group ug ON ugu.user_group_id = ug.id WHERE u.is_active = 'Y' GROUP BY\r\n" +
"ug.group_name ORDER BY ug.group_name ASC", nativeQuery = true)
List<Group> findLinkedUserGroups();
Но я получаю сообщение об ошибке «Неизвестный столбец« ug »в« списке полей »»
Пожалуйста, помогите. Большое спасибо.