-
Mapping enum vers char()
Bonjour à tous,
Partant d'une base de donnée existante, je souhaite réaliser avec JPA le mapping coté Java d'un enum vers un char() de longueur donnée.
Pour cela la solution actuellement utilisée est :
@Column(columnDefinition="char(22)")
@Enumerated(EnumType.STRING)
private TypeEnum typeEnum;
Seulement cette solution est dépendante du type de la base de donnée employée (informix dans le cas présent).
Je suis donc à la recherche d'une solution permettant de réaliser ce mapping en restant indépendant du SGBD utilisé.
Je vous remercie par avance pour votre aide! ;)
-
Pas le dire
Bonjour,
Crois-tu que sans notifier le char(22), cela fonctionne. Il suffit de ne pas le mentionner et ton POJO va le gérer. Il faut essayer.
J'ai générés des classes en utilisant une base existante et la dimensions des string n'est pas notifier. Je gère la taille dans la partie IHM avec JSF, pour être sûr de ne pas avoir des surprises, c'est laxiste certe, mais générique au niveau SGBD. Tu peux aussi gérer avec des exceptions après ...
olivier
-
Merci pour cette réponse, si je ne précise pas le type de colonne le mapping échoue car JPA s'attend à trouver un varchar dans la base et non un char. D'où ma question en fait!
A vrai dire le même problème se pose pour mapper des String sur des char au lieu de varchar employés pas défaut.
-
Héritage
Bonjour,
Une idée vient de me traverser l'esprit pas sur que c'est possible, mais bon
utilise la notion d'héritage, une classe générique sans type précisé, et une classe fille ( ou plusieurs ) en fonction du type ...
je regarde ....
olivier