I have an entity Courses with oneToMany annotation to CourseUser. And i'm trying to get all rows from courses where course_name from Courses equals to course_name from CourseUser and user_name in course_usere equals to'name'. But in hql i get an error. I red all questions about same error but i hardly understand how path works. Could someone explain to me? this is hql :
"from Courses inner join CourseUser on courses.course_name = CourseUser.course_name and CourseUser.user_name =:name "
Courses entity:
@Entity
@Table(name = "COURSES")
public class Courses {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "course_id")
private int course_id;
@Column(name = "course_name", nullable = false)
private String courseName;
@Column(name = "course_owner", nullable = false)
private String course_owner;
@Column(name = "course_description")
private String courseDescription;
@Column(name = "course_links")
private String links;
@Column(name = "course_category")
private String category;
@Column(name = "course_state")
private String state = "draft";
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<CourseUser> courseUsers = new HashSet<CourseUser>(0);
and CourseUser entity:
@Entity
@Table(name = "COURSE_USERS",
uniqueConstraints = {@UniqueConstraint(columnNames = {"course_name", "user_name"})})
public class CourseUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ev_id")
private int course_id;
@Column(name = "course_name", nullable = false)
private String courseName;
@Column(name = "user_name", nullable = false)
private String userName;
@Column(name = "course_role")
private String courseRole;
@Column(name = "grade")
private int grade ;