Lorsque je démarre Springmvc, j'obtiens l'exception suivante ... Le détail important semble être en erreur: org.hibernate.tool.hbm2ddl.schemaUpdate - Impossible d'obtenir la base de données MetaData P> mon servlet-context.xml est comme suit ... p> Je suis certain que les détails de l'URL et les informations d'identification sont correctes pour la base de données, Quelqu'un peut-il penser à d'autres raisons? p> On dirait qu'il tente d'accéder à l'information_schema DB, mais dans mon XML, j'ai défini la base de données qu'il devrait regarder ... P> <beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<beans:property name="url" value="jdbc:mysql://localhost/assessme" />
<beans:property name="username" value="root" />
<beans:property name="password" value="toor" />
</beans:bean>
3 Réponses :
Regardez votre erreur:
ERROR: org.hibernate.tool.hbm2ddl.SchemaUpdate - could not get database metadata com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'sequences' in information_schema
Oui, je pensais cela - mais dans mon XML, il est mappé sur
(et ESSAYME est le nom de la DB)
Êtes-vous sûr que cette base de données existe? Autant que je me souvienne que Hibernate ne créera pas de nouvelle base de données, si vous le souhaitez, il n'existe pas, il utilisera la base de données par défaut, qui est "INFORMATION_SCHEMA".
Oui, je peux confirmer que le DB existe, mais ce qui est bizarre, c'est si je prends les paramètres du XML du printemps et utilisez-le dans hibernate.cfg.xml, cela fonctionne bien avec ces détails.
Y a-t-il quelque part ailleurs que je dois déclarer les détails ou le nom de la DB?
Vous utilisez un compte root pour vous connecter à cette base de données, je pense que cela pourrait être le problème de créer un nouvel utilisateur et de lui accorder des autorisations appropriées sur la base de données «Évaluation».
Je viens de créer un utilisateur et obtenu la même erreur:
Je ne sais pas quel est le problème, mais de l'enregistrement, vous ne devez pas utiliser
Deuxièmement, ce qui est
Merci, c'était le dialecte qui était faux et causant le problème :)
J'explète la bonne réponse à cette question des commentaires d'une réponse différente. em> Cette exception est lancée car votre dialecte utilisée ne correspond pas à la base de données. P> Dans votre configuration Vous utilisez P> <beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</beans:prop>
vous permet d'ajouter ceci dans le fichier Application.Properties P>
printemps.jpa.database-plate-forme = org.hibernate.dialect.mysql5innodbdialect p>
L'erreur sera disparue. p>
Je pense juste. Avez-vous une entité hibernée avec @generatedValue (Stratégie = GenerationType.Suence) et MySQL prend en charge uniquement le type de génération automatique?
Nah j'ai @generatedValue (stratégie = générationtype.auto)