Bonjour à tous,
ayant hérité d'une appli codée avec les pieds, j'ai décidé de tâcher d'améliorer au maximum le process qualité en injectant des données prédéfinie avant mes tests (et en supprimant après, classique en somme)
Pour des raisons de coût, nos tests se font piur l'instant sur les données existantes, ce qui empêche par exemple la réalisatino de tests complets sur nos web services...
Bref, ayant hérité d'une belle couche JPA que j'ai déjà décrassée autant que faire se peut, j'ai voulu utiliser HSQLDB comem base de test, permetant ainsi une vraie portabilité à mes tests.
- Premier soucis : HSQLDB, peut être couplé avec JPA, ne gère pas le cas ou mes entités n'ont pas de foreign key, pourtant nullable ! (Cas d'une entité "Location" avec une relation récursive... aucun problème sous mysql..)
=> c'est moi qui ait bugué ou c'est un fonctionnement 'normal' ??
- second soucis, ok HSQLDB ne gère pas les auto increments; qu'à cela ne tienne, j'ai généré un trigger pour mes tables.
Là ou le bas blesse, c'est qu'il n'est visiblement pas possible de préciser dynamiquement quelle strategie passer à mes id auto-générés via l'annotation "@GeneratedValue" ... (c'est pour cela que je préfère les confs xml aux annotations)
Bref, a prioi je vais passer par une autre base mysql pour faire mes tests proprements (via DBUnit) mais du coup, au revoir portabilité...
Avez-vous déjà rencontré de telles problématiques ? Ai-je complètement bugué sur un point essentiel ou JPA est-il si contraignant que l'on doive oublier toute portabilité entre bdd ? Merci d'avance pour vos retours, et à bas les ORM ! ^^
Partager