Objeto persistente a la base de datos con ORM
Pregunta
Dentro de una clase de entidad, ¿puedo tener algún objeto como un atributo y cuando persisto a la entidad a la base de datos también persistirá en que los objetos atribuyen?
Solución
Si el objeto es serializable, podría serializarlo como un blob.Pero eso no es algo que quieres hacer porque
- sería ineficiente serializar y deserializar constantemente el objeto
- Sería muy frágil: un cambio en la clase de objetos lo haría imposible (o difícil si sabe lo que está haciendo) para leer versiones anteriores ya guardadas en la base de datos
- Sólo Java podría dar sentido al blob
- No se pudo hacer ninguna consulta en este objeto
Entonces, básicamente, la respuesta es no.Las entidades JPA pueden tener objetos incrustados, cuyos campos se asignan a columnas, o pueden tener asociaciones con otras entidades (Onetoone, Onetomany, ManytoOone o Manytomany).
Mi consejo: Piense primero en el diseño de su base de datos, luego mapea el esquema a las entidades JPA.Si comienza a escribir un modelo de objeto sin siquiera pensar cómo se persistirá en la base de datos, no irá muy lejos.