Bonjour,
J'utilise JPA avec Hibernate comme implémentation dans un projet.
J'ai une table dans la base de données qui ne comporte pas de clé primaire (hé oui, la classe). Il y a même des lignes en doublons que je supprime avant d'effectuer mes traitements.
J'ai mappé cette table avec JPA (annotations) sans fichier persistence.xml en utilisant les classes (context.xml) de spring.
Ca fonctionne plutot bien. Mais le soucis est que j'ai créé une clé composite (@Embeddable) pour cette table qui représente les champs pour lesquels on ne devrait pas retrouver de doublons (c'est une clé fonctionnelle).
Sauf que dans cette clé composite, il y a parfois dans la base de données des valeurs nulles.
Exemple :
Entité -> MaTable
Clé composite :
- Int monEntier
- String monString
Quand j'exécute mes traitements en test U. sur hsqldb, cela fonctionne parfaitement parce que je crée mes tables à chaque exécution des tests. Par contre, quand je les exécute directement sur ma base de tests, j'ai une exception parce que le champ "monString" est parfois null.
Savez-vous comment pourrais-je remédier à ce problème ?
J'ai essayé avecet/ou en mettant dans le get
Code : Sélectionner tout - Visualiser dans une fenêtre à part @Column([...], nullable=true)
mais j'ai quand même une exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(monString == null) { return ""; }
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part [...]monString cannot be null [...]
Partager