Question

Au sein d'une classe d'entités, puis-je avoir un objet en tant qu'attribut et lorsque je persiste l'entité à la base de données, il persiste également d'attributs d'objets?

Était-ce utile?

La solution

Si l'objet est sérialisable, vous pouvez le sérialiser comme une blob.Mais ce n'est pas quelque chose que vous voulez faire parce que

  • Il serait inefficace de sérialiser constamment et de désérialiser l'objet
  • Ce serait très fragile: une modification de la classe d'objet rendrait impossible (ou si vous savez si vous savez ce que vous faites) pour lire les versions précédentes déjà enregistrées dans la base de données
  • Seul Java pourrait donner un sens à la blob
  • Vous ne pouviez pas faire de requête sur cet objet

Donc, essentiellement, la réponse est non.Les entités JPA peuvent avoir des objets embarqués, dont les champs sont mappés sur des colonnes ou peuvent avoir des associations avec d'autres entités (OneSoone, OneTomanany, Homtoone ou MétéoTomanany).

Mon conseil: Pensez d'abord à la conception de votre base de données, puis cartographier le schéma aux entités JPA.Si vous commencez à écrire un modèle d'objet sans même penser à la manière dont il sera persisté dans la base de données, vous n'irez pas très loin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top