Bonjour,

J'ai le problème suivant: Je souhaite persister une classe contenant 3 Maps<String, Double> dans une seule table.
Les clés de ces 3 maps peuvent être identiques.
Par défaut, @CollectionOfElements + @JoinTable(name="MA_MAPS_xxx") va créer 3 tables différentes.
Pour ne pas surcharger le schéma, je voudrais, par exemple, que Hibernate sérialise les maps en ajoutant aux couple classique 'mapkey / value' un "discriminant" comme "prix, taux, promo" qui serait utilisé en plus de mapkey et price_id lors de la jointure. J'ai testé les @PrimaryJoinColumns, et autres @JoinColums + columnsdefinition, sans succès jusqu'ici.

Pour illustration:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
@Entity
@Table(name = "XP_PRICES")
public class Price extends UUIDBaseEntity {
 
private Map<String, Double> prix;
private Map<String, Double> promo;
private Map<String, Double> taux;
 
/*getters and setters*/
}
Merci d'avance pour vos éclaircissements et solutions!