【发布时间】:2018-12-17 03:47:37
【问题描述】:
@Entity
@Table(name="seance")
@Data
public class Seance {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(nullable = false, unique = true)
private Integer id;
private java.time.LocalTime displayTime;
@ManyToMany(mappedBy = "seances")
@JsonIgnore
private List<Repertoire> repertoires = new ArrayList<>();
@OneToMany(mappedBy = "reservationSeance", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JsonIgnore
private List<Reservation> reservations = new ArrayList<>();
}
@Entity
@Table(name="reservation")
@Data
public class Reservation {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(nullable = false, unique = true)
private Integer id;
private java.time.LocalDate reservationDate;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "id_seance")
private Seance reservationSeance;
.........
}
我有两个与 ManyToOne 相关的实体,我尝试扩展 JpaRepository
public interface ReservationRepository extends JpaRepository<Reservation,Integer> {
List<Reservation> findReservationsByReservationSeance(Seance seance);
}
但是作为参数,我必须使用所有的 Object Seance,可以使用 JpaRepository 仅通过 Seance Table 中的 id 和 displayTime 查找预订,还是需要编写自己的方法?
【问题讨论】:
-
你试过
...ByReservationSeanceIdAndReservationSeanceDisplayTime(Long, LocalTime)吗? -
如果需要具体的请求,可以扩展,或者使用派生请求;这只是一个选择。
-
@crizzis ...ByReservationSeanceIdAndReservationSeanceDisplayTime(Long, LocalTime) 如果我可以使用这些字段,Intellij 不会将它们显示为提示?
标签: java spring-boot spring-data-jpa jpql