Je traite le scénario suivant:Mappage enum Hibernate 'sans table'?
Nous utilisons table-per-subclass inheritance, ce qui signifie les clés primaires de tables en béton sont des références clés étrangères sur la abstraite tableau. Superclasse est Produit, sous-classes sont livre, DVD, audiocd ...
maintenant dans la superclasse Java, disent Product.java
, nous avons un enum
des types de produits: livre, dvd, musique, etc.
Nous n'avons pas de colonne de discriminateur dans la table de résumé et pas de table supplémentaire pour les types.
Est-il possible de cartographier le type enum
dans Product.java
aux valeurs correctes, en fonction de l'objet concret? Ou un discriminateur ou une table supplémentaire est-il nécessaire?
... ....
Tableau par la sous-classe extrait de mappage d'héritage:
<class name="Product" table="PRODUCT">
<id name="id" column="IDPRODUCT" type="int">
<generator class="native" />
</id>
...
<joined-subclass name="Book" table="BOOK">
<key column="IDPRODUCT" />
<property ...
</joined-subclass>
...
... ...
Product.java
public class Product {
public enum Type { book, dvd, music }
...
private Type type;
...
sons bizarre? Peut être. Deux parties distinctes ont conçu la partie OO et la partie DB ...