Jboss, Hibernate Tools: erreur de Lecture de schéma - Probablement un Problème de pilote JDBC
Bonjour, je suis en train d'utiliser JBoss, Hibernate Outils pour l'ingénierie Inverse. Je suis à l'aide de eclipse luna
et dernière hibernate, jboss tools à partir d'eclipse place du marché. Quand j'essaie de configurer hibernate configuration des outils, une fois la configuration faite, quand je développez l'arborescence et développez database
nœud, il génère une erreur suivant:
<Reading Schema Error: Could not get list of suggested identity strategies from database. Probably a JDBC Driver Problem>
Trace De La Pile:
org.hibernate.exception.SQLGrammarException: Could not get list of suggested identity strategies from database. Probably a JDBC driver problem.
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.cfg.reveng.dialect.MySQLMetaDataDialect.getSuggestedPrimaryKeyStrategyName(MySQLMetaDataDialect.java:55)
at org.hibernate.cfg.reveng.JDBCReader.processPrimaryKey(JDBCReader.java:429)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:86)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$2.execute(LazyDatabaseSchemaWorkbenchAdapter.java:126)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:115)
at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:65)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:106)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:238)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-empirecl-test like 'oauth_access_token'' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
at com.mysql.jdbc.Util.getInstance(Util.java:383)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158)
Ma connexion de base de données avec l'éclipse est de construire avec succès dans la mesure où, avec l'aide de Database explore
par eclipse établir la connexion avec succès et également d'afficher toutes les tables. Je suis à l'aide de Hibernate 4.3
et dernière MySQL driver 5.1.31
. Suivantes sont les captures d'écran de ma configuration.
Qui suit est mon hibernate.cfg.xml
fichier:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/nit-empirecl-test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
</session-factory>
</hibernate-configuration>
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la solution, Le problème est avec le nom de base de données. Je ne sais pas, mais hibernate, jboss outil, pas de soutien
( - )
trait d'union dans le nom de base de données. Lorsque je change le nom avec un trait de soulignement la configuration fonctionne correctement.Vous devez définir la
hibernate
schéma par défaut (pour sql server)<property name="hibernate.default_schema" value="dbo" />
n'a pas qui est pratiquement le mêmeJ'ai le même problème, mais avec MS SQL Server et sans "-" dans le nom DB.
Vous pouvez essayer de définir le "facultatif" de la propriété hibernate.default_schema.