J'utilise HSQLDB pour les tests d'intégration de couche de données, ce qui est génial. Cependant, je constate que mes contraintes de clé étrangère entravent mes tests. Par exemple, pour tester une sélection simple sur une table, je dois insérer des données factices dans cinq tables supplémentaires. Cela me donne envie de jeter des choses.TDD avec HSQLDB - suppression des clés étrangères
J'ai des annotations JPA dans notre code de modèle, et j'ai configuré Hibernate pour recréer le schéma (hbm2ddl.create-drop) dans la configuration. Les jointures sont interprétées correctement en tant que contraintes de clé étrangère lorsque les tables sont générées.
Ce que je voudrais est soit:
- pas créer les clés étrangères d'abord (idéal, plus propre), ou
- Trouver un moyen de laisser tomber toutes les clés programme étrangères dans la base de données (un peu hacky mais fera le travail)
Si c'est utile, j'utilise Spring pour autowire ces tests. Les tests en question héritent de AbstractTransactionalJUnit4SpringContextTests.
Qu'en pensez-vous? Cela peut-il être fait?
Merci! Vous venez de couper à moi seul ma classe de test en deux. Il est intéressant de noter que cela facilite également l'extraction de la racine où Hibernate provoque des jointures internes inutiles. – roufamatic
Pour quiconque utilise AbstractTransactionalJUnit4SpringContextTests ... la magie est la suivante: 'simpleJdbcTemplate.getJdbcOperations(). Execute (" SET REFERENTIAL_INTEGRITY FALSE; ");' – roufamatic
@roufamatic Content de vous trouver utile. –