Я пытаюсь получить все фильмы, которые купил конкретный студент, но у меня проблемы с написанием запроса.
У меня есть эти ошибки:
STUDENT_MOVIEBOUGHT неизвестно
l.student_login не может быть преобразован в допустимый тип
l.moviebought_id не определен в предложении FORM.
Так что я не знаю, как написать запрос, не могли бы вы объяснить ошибки или намекнуть, как написать код (извините, новичок)?
Я пытался сделать:
public boolean checkBought(Movie movie, Student student){
long mid=movie.getId();
TypedQuery<Long> query=em.createQuery("SELECT l.moviebought_id FROM
STUDENT_MOVIEBOUGHT l WHERE l.student_login LIKE '%"+student+"%' AND
student_id LIKE '%"+mid"%",Long.class);
List <Long> moviesId=query.getResultList();
return moviesId.indexOf(mid)!=-1;
}
базы данных:
STUDENT_MOVIEBOUGHT STUDENT MOVIEBOUGHT
-student_login -login -id
-moviebought_id -name -movie_id
-order_id
student.java
@Id
private String login;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "student")
private List<Order> order = new ArrayList();
private List<MovieBought> movies=new ArrayList();
moviebought.java
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne
private Order order;
@ManyToOne
private Movies movies;
order.java
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne
private Student student;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval=true, mappedBy =
"order")
private List<MovieBought> movies= new ArrayList();