Может ли кто-нибудь помочь мне с запросом SELECT в этом соединении ManyToMany? Я хочу выбрать зарегистрированных пользователей, указанных id пользователя в моем классе EJB.JPA выбрать запрос на ManyToMany
сущность курса фрагмент
Public class Course implements Serializable {
...
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
@ManyToMany
@JoinTable(name="course_user", joinColumns={@JoinColumn(name="course_id", referencedColumnName="id")},
inverseJoinColumns={@JoinColumn(name="user_id", referencedColumnName="id")})
private List<User> enrolledStudents;
...
Entity пользователя фрагмент
public class User implements Serializable {
private static final long serialVersionUID = 1L;
...
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
@ManyToMany(mappedBy="enrolledStudents")
private List<Course> enrolledCourses;
...
Например это мой другой запрос на выборку в EJB, но это не на ManyToMany. Я хочу что-то подобное, но не могу понять, как ..
public List<Course> findOwndedCourses(long id) {
TypedQuery<Course> query = entityManager.createQuery("SELECT c FROM Course c WHERE c.owner.id = :ownerId", Course.class);
query.setParameter("ownerId", id);
return query.getResultList();
}
Благодарим вас за помощь ребятам !!
Что вы имеете в виду «выберите зачисленных пользователей, указанные идентификатор пользователя «? Вы хотите выбрать пользователей для данного идентификатора курса? –
Привет, Дэвид .. Я говорю об этом /** * Найти курсы, где зарегистрирован пользователь с идентификатором (userId). * параметр userId, идентификатор пользователя. * возвращает список зарегистрированных пользователей курсов. */ Список findEnrolledCourses (long userId); –