Relacionamento:
Uma empresa tem uma lista com os locais de faturamento.
Mas o endereço de faturamento não tem a referencia para a empresa, já que, pode ter um endereço de faturamento para o cliente ou outra entidade.
@Entity
@Table(name="empresa")
public class Empresa {
....
@OneToMany
List<EnderecoFaturamento> enderecosFaturamento;
}
@Entity
@Table(name="endereco_faturamento")
public class EnderecoFaturamento {
...
}
A empresa salva corretamente, e ao colocar o Cascade.ALL salva também todos os endereços de faturamento, e mantem uma tabela auxiliar para identificar em qual empresa o endereço de faturamento está vinculado.
Minha dúvida é a seguinte:
Quando estava procurando como fazer o relacionamento OneToMany vi muitos comentários falando que esse tipo de relacionamento causava muitos problemas.Alguém poderia comentar alguma experiência ou algo que poderia causar transtornos com essa abordagem?
OBS: Normalmente utilizo @ManyToOne do outro lado do relacionamento, mas nesse caso como não queria ter uma referencia da empresa no endereço essa foi a abordagem que achei mais adequada.