J'ai utilisé Hibernate + HSQLDB sur mon bureau pour développer un adaptateur de base de données pour mon application. Pour des raisons héritées, les ID sont générés par l'application en tant que chaînes. Tout fonctionnait bien alors.Hibernate Impossible de démarrer sur une base de données à grande échelle
Maintenant, nous avons une base de données pré-prod, avec un peu plus d'un million d'enregistrements. J'ai dû faire quelques changements (par exemple, identifiant trop long) du côté de Hibernate, mais rien de majeur.
C'est, jusqu'à ce que je suis arrivé à ce problème. Lorsque j'essaie de démarrer mon application sur le serveur de pré-prod, Hibernate commence à faire des requêtes de gazillions, qui finissent par se retrouver dans un espace de tas Java OutOfMemoryError: Java. Augmenter le maximum de tas n'aide pas. J'ai désactivé les paramètres de cache C3PO et désactivé hibernate.hbm2ddl.auto. Je ne sais pas pourquoi il fait ces requêtes, et je ne sais pas comment les désactiver.
Quelqu'un peut-il m'aider ??????
Quel type de requêtes est-il en train d'exécuter? Hibernate ne fait pas de requêtes seul, il les émet parce que votre application l'a demandé. – skaffman
Vous avez raison. J'ai eu une requête factice au démarrage pour m'assurer que nous avons touché la base de données. J'ai enlevé cela et je suis capable de démarrer l'application. Mais cela ne fait que déplacer le problème, car au moment où une requête DB est exécutée, les requêtes gazillion sont exécutées. – malaverdiere