1
resposta

qual a melhor pratica ao anotar os relacionamentos?

no curso vi que é mais utilizado anotar sempre os relacionamentos nas duas classes relacionadas, mas na prática me parece ser necessário apenas em um lado do relacionamento. Ex: tenho as classes Hospede, Reserva e Pagamento sendo que um hóspede pode ter várias reservas e uma reserva pode ter vários pagamentos, então qual seria a maneira mais usual, mais comum e mais correta de anotar esse relacionamento?

public Class Hospede{
    @oneToMany
    @JoinColumn(name="hospede_id")
    private List<Reserva> reservas;
}

public Class Reserva{
    @OneToMany
    @JoinColumn(name="reserva_id")
    private List<Pagamento> pagamentos;
}

public Class Pagamento{
    private BigDecimal valor;
}
1 resposta

Oi Alberto, tudo bem?

Os objetos JPA precisam que você defina ambos os lados de um relacionamento. Contanto que você defina o lado proprietário, o banco de dados será atualizado com as alterações de relacionamento, mas o lado não proprietário refletirá apenas o que está no banco de dados se você configurá-lo manualmente ou forçá-lo a ser atualizado ou recarregado. A leitura da entidade a partir de um contexto separado onde apenas "o outro lado" está mapeado não força o recarregamento da entidade.