Tenho as seguintes classes:
@Entity
public class Cliente implements Serializable, Criptografavel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String nome;
private String morada;
private String nacionalidade;
private String pais;
private LocalDate dataNascimento;
@OneToMany(mappedBy = "cliente", cascade = CascadeType.ALL)
private List<Estadia> estadias;
private String telemovel;
private String tipoIdentificacao;
private String numeroIdentificacao;
//construtor, getters e setters omitidos
}
@Entity
public class Estadia {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private LocalDate entrada;
private LocalDate saida;
@Enumerated(EnumType.STRING)
private Apartamento apartamento;
@Transient
private BigDecimal preco;
private int adultosPax;
private int criancasPax;
private boolean garagem = false;
private Cliente cliente;
//construtor, getters e setters omitidos
}
@Entity
public class Reserva implements Criptografavel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String nome;
@OneToOne
private Estadia estadia;
@Enumerated(EnumType.STRING)
private ReservaStatus status;
@ManyToOne
private Cliente cliente;
private String contacto;
private String recebidaPor;
private String feitaPor;
//construtor, getters e setters omitidos
}
Como posso fazer para ao setar o cliente na reserva, seja também setado o cliente na estadia, com hibernate?