@Query(value = "SELECT r FROM Reservation r WHERE r.reservationSeance.id=:seanceId " +
"AND r.seanceDate=:seanceDate " +
"order by r.id DESC LIMIT 1", nativeQuery = true)
public Reservation findReservationBySeanceDateAndSeanceId(@Param("seanceId") int seanceId, @Param("seanceDate") java.time.LocalDate seanceDate);
Без nativeQuery в качестве параметра у меня есть ошибка ',' или ожидалось значение NULL, получен LIMIT stackoverflow, но при его использовании и значении true у меня ошибка
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'r' in 'field list'
EDIT:
Сущность, использованная в запросе
@Entity
@Table(name="reservation")
@Data
@NoArgsConstructor
public class Reservation {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(nullable = false, unique = true)
private Integer id;
private java.time.LocalDate reservationDate;
private java.time.LocalDate seanceDate;
private Integer reservationNr;
@ManyToOne(fetch = FetchType.LAZY)
private Seance reservationSeance;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
@JoinColumn(name = "user_id")
private User userReservation;
@OneToMany(orphanRemoval = true, cascade = CascadeType.MERGE)
private List<Seat> seats = new ArrayList<>();
}
Сеанс Сущность
@Entity
@Table(name="seance")
@Data
public class Seance {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(nullable = false, unique = true)
private Integer id;
private java.time.LocalTime displayTime;
@ManyToOne
private Film film;
@Column(length=127)
private String kind;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
private Hall hall;
@OneToMany(mappedBy = "reservationSeance")
@JsonIgnore
private List<Reservation> reservations = new ArrayList<>();
}
другой день я hvae @JoinColumn покупка через несколько дней, я удаляю эту аннотацию