Откуда получить список? - PullRequest
       5

Откуда получить список?

0 голосов
/ 13 октября 2019

у меня например 2 энтита: клиент, резервирование. двунаправленные отношения один ко многим. Один клиент для многих бронирования, где бронирование является владельцем. Когда я хочу получить все бронирования для одного клиента, как я могу это сделать? Может быть, найти клиента по запросу и по объекту использовать client.getReservations ()? Или, может быть, сделать запрос, чтобы найти бронирования, где идентификатор.

Класс клиента:

ublic class Client extends Person {

    @OneToMany(mappedBy = "client", cascade = CascadeType.ALL, orphanRemoval = true)
    private List<Reservation> reservations = new ArrayList<>();

    public Client() {

    }

    public Client(String fullName, String phoneNumber, String email, String address) {

        super(fullName, phoneNumber, email, address);
    }

    public List<Reservation> getReservations() {
        return reservations;
    }

    public void addReservation(Reservation reservation) {
        this.reservations.add(reservation);
        reservation.setClient(this);
    }

    public void removeReservation(Reservation reservation) {
        this.getReservations().remove(reservation);
        reservation.setClient(null);

    }

Класс бронирования:

public class Reservation {

    // --- attributs ---
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "reservation_id")
    private Integer id;

    @Column(name = "created_on")
    @Temporal(TemporalType.DATE)
    @CreationTimestamp
    private Date createdOn;

    @Temporal(TemporalType.DATE)
    @Column(name = "last_updated")
    @UpdateTimestamp
    private Date lastUpdated;

    @Temporal(TemporalType.DATE)
    @Column(name = "date_to_supply")
    private Date dateToSupply;

    @Column(name = "total_sum")
    private double totalSum;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "client_id")
    private Client client;

1 Ответ

1 голос
/ 13 октября 2019

В отношениях один-ко-многим, пока вы загружаете клиента в вашем примере, он загружает клиента со всеми бронированиями. Так как упоминалось client.getReservations (). Получите все оговорки с этим конкретным клиентом.

...