objeto persistente ao banco de dados com o Orm
Pergunta
Dentro de uma classe de entidade, posso ter qualquer objeto como um atributo e quando persistir a entidade ao banco de dados, também persistirá que os atributos de objetos?
Solução
Se o objeto for serializável, você poderá serializá-lo como um blob.Mas isso não é algo que você quer fazer porque
- seria ineficiente constantemente serializar e desserializar o objeto
- seria muito frágil: uma mudança na classe de objeto tornaria impossível (ou difícil se você souber o que você está fazendo) para ler versões anteriores já salvas no banco de dados
- apenas Java poderia dar sentido ao blob
- Você não pôde fazer qualquer consulta neste objeto
Então, basicamente, a resposta é não.As entidades JPA podem ter objetos incorporados, cujos campos são mapeados para colunas, ou podem ter associações com outras entidades (Onetoone, Onetomany, ManytoOne ou ManyTomany).
Meu conselho: pense no design do seu banco de dados primeiro, depois mapear o esquema para entidades JPA.Se você começar a escrever um modelo de objeto sem pensar como ele será persistido no banco de dados, você não vai muito longe.