“Le tableau n'est pas trouvé” d'exception avec hibernate
Je suis l'exception suivante avec hibernate:
10:18:14,795 INFO [SchemaValidator] Running schema validator
10:18:14,795 INFO [SchemaValidator] fetching database metadata
10:18:16,958 INFO [DatabaseMetadata] table not found: DUMMY_TABLE
10:18:16,963 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=bkoMdw-ear.ear/bkoMdw-ejb.jar#bkoMdw state=Create
javax.persistence.PersistenceException: [PersistenceUnit: bkoMdw] Unable to build EntityManagerFactory
(...)
Caused by: org.hibernate.HibernateException: Missing table: DUMMY_TABLE
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1127)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:139)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:359)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
Le problème est que l'existence de la table et de la source de données de fichier est correctement configuré.
Ce que je suis absent? Tout conseiller pour résoudre ce problème?
Merci d'avance!
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous pense la table existe et que la source de données est correctement configuré, tandis que Hibernate sait que ce n'est pas correct.
Augmenter les niveaux de journal et de l'utilisation
-Dhibernate.show_sql=true
pour activer la journalisation pour les instructions SQL. Qui devraient vous aider à suivre ce une.[MODIFIER] assurez-vous Également que vous n'avez pas d'espace avant ou après un
@Table
annotation. Si vous avez cette annotation:Puis Hibernate utilisera le nom entre guillemets à créer la table (si vous avez une table avec SQL nom
'MYTABLE '
) mais il ne sera pas toujours citer le nom lorsque vous exécutez des requêtes.J'ai eu le même problème avec un point de vue que j'ai utilisé dans ma cartographie. Après j'ai désactivé Hibernate validation, il fonctionne correctement. Semble, que la validation a un problème avec les points de vue.
table not found
des tables réelles, mais les points de vue des œuvres.Assurez-vous également que le cas est correct. Vous pourriez avoir dans le databse comme dummy_table peut être.
Travaillé pour moi quand j'ai changé
@Table(name = "schema.tableau")
Pour
@Table(name = "table" schema = "schéma")
J'ai eu le même problème avec une base de données mysql.
Le problème est que j'ai utilisé les majuscules des noms pour les tables.
J'ai baissé vers le bas et maintenant tout fonctionne.
@Hendrik a la bonne idée. J'ai eu le même problème et j'ai été en mesure de résoudre le problème en ajoutant les haricots soufflet de mon application fichier de contexte.
J'ai eu la même exception du mode veille prolongée.
Dans mon cas, c'était parce que l'utilisateur de base de données n'a pas été dûment autorisé à voir les tables. Les tables ont été définitivement là, sur la base de données.
Après que j'ai attribué les rôles db_datareader à l'utilisateur pour cette base de données, il a travaillé.
Cependant, dans un autre cas, où les tables n'étaient pas vraiment là, j'ai eu exactement la même exception du mode veille prolongée. J'cas où les tables sont là, je pense que hibernate peut pas montrer plus d'informations, pour des raisons de sécurité.
J'ai eu un problème similaire avec postgresql et hibernate 5.2.10.
La table certainement existé. Quand j'ai tourné valider, tout a fonctionné. Il s'est avéré que la table ne pourrait probablement pas être trouvé, parce que hibernate ne pouvait pas supporter d'aucun schéma spécifié. Il semblait liés à: https://hibernate.atlassian.net/browse/HHH-11286.
J'ai mis à jour postgresql et le dialecte (PostgreSQLXXDialect). Le problème a disparu après que.