Hibernate cfg.xml - keine jdbc Verbindung
ich versuche, Streifen aus meiner alten Datenbank-code zu ersetzen mit hibernate. Ich habe getan, die meisten von dem Boden arbeiten, aber ich scheinen zu laufen in einige Probleme, wenn Sie versuchen, eine Verbindung zu der Datenbank
Mein hibernate cfg.xml sieht wie folgt aus;
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect </property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- Assume test is the database name -->
<property name="hibernate.connection.url">jdbc:mariadb://ip:port/schema?autoReconnect=true</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">password</property>
<!-- List of XML mapping files -->
<mapping resource="Card.hbm.xml" />
</session-factory>
</hibernate-configuration>
Die anschlussdetails sind eine gerade copy paste job von meinem ursprünglichen (Arbeits -) nicht hibernate-Anwendung damit sind Sie definitiv richtig. gibt es etwas falsch mit dem format meiner config-Datei? Die Ausnahme, die ausgelöst wird
Exception in thread "main" org.hibernate.HibernateException: Unable to make JDBC Connection [jdbc:mariadb://ip:port/schema?autoReconnect=true]
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:77)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
at com.swiped.cards.HibernateUtil.configureSessionFactory(HibernateUtil.java:15)
at com.swiped.cards.HibernateUtil.getSessionFactory(HibernateUtil.java:20)
at com.swiped.cards.Main.main(Main.java:9)
Bin ich auch mit dieser Datenbank mithilfe von sql workbench, so dass ich sicher bin, dass die Angaben korrekt sind.
Dank
- In Ihrer Verbindungszeichenfolge, die Sie haben "mariadb" für das Protokoll/Dialekt. Sie sagte, dass Sie MySQL verwenden, so ersetzt mariadb mit mysql würde vielleicht den trick tun.
- Sie sollten austauschbar sein Recht?
- Ich weiß nicht, etwas über mariadb, aber wenn Sie MySQL verwenden, sollten Sie natürlich auch ein Protokoll. Ersetzen Sie einfach das Wort.
- gut, das war die Antwort, die ich glauben, bitte akzeptieren Sie meine Entschuldigung und wenn Sie können, eine Antwort werde ich akzeptieren und up vote :p
- Hat es funktioniert? Wenn dem so ist, vermute ich, dass ich schnell poste es als Antwort.
- yup, go go go lol
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die falschen connection-string. Ihre Konfiguration verwendet die MariaDB-Protokoll/Dialekt.
Um Ihre Datenbank-Verbindung arbeiten, ersetzen Sie einfach "mariadb" durch "mysql".
Du einige Variablen in die Vorlage-Datei, muss es etwas wie das:
Ich habe die Variablen, die Sie ändern müssen, zu Groß -, so ist es einfacher für Sie zu sehen.