QuerySyntaxException при использовании JPQL для запроса обратного конца - PullRequest
0 голосов
/ 06 октября 2019

У меня есть простое двунаправленное отображение один-ко-многим, и я хочу запросить не обязательную сторону отношений, а обратный конец. Моя задолженность выглядит следующим образом:

@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "enrollment_id")
private String enrollmentId;
@Column(name = "name")
private String name;
@ManyToOne
@JoinColumn(name = "guide_id")
private Guide guide;
}

, а обратный конец выглядит следующим образом:

@Entity
public class Guide {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "salary")
private Long salary;
@Column(name = "staff_id")
private String staffId;
@OneToMany(mappedBy = "guide", cascade = CascadeType.PERSIST)
private Set<Student> students = new HashSet<>();

public void addStudent(Student student){
    students.add(student);
    student.setGuide(this);
}

public void removeStudent(Student student){
    students.remove(student);
    student.setGuide(null);
}

}

Я хочу запросить справочник без ученика, поэтому яиспользовал следующий именованный запрос:

        @NamedQuery(name = Guide.GUIDE_WITH_NO_STUDENT_QUEY, query = "select g from Guide g where g.students is empty")

но я получил это исключение: вызвано: org.hibernate.LazyInitializationException: не удалось лениво инициализировать коллекцию ролей: entity.Guide.students, не удалось инициализировать прокси -нет сеанса

Я не понимаю, почему

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