Hibernate und einfügen von Daten in die Datenbank ein Fehler Auftritt
<hibernate-configuration>
<session-factory> <property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">
jdbc:mysql://localhost/products</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Mapping files -->
<mapping resource="prod.hbm.xml"/>
</session-factory>
</hibernate-configuration>
ich bin mit den oben genannten XML-hibernate config-Datei zum einfügen in meine Datenbank mit dem Namen "Produkte" einige Daten.
Aber es zeigt einen compile-Fehler:Connection cannot be null when 'hibernate.dialect' not set
Ich habe keine Ahnung, warum/wie Sie zu beheben. Könnten einige von Euch mir einige Ideen zu bewegen ? Dafür bin ich dankbar. Danke.
[UPDATE]
Ich denke, ich sollte auch Schritte in die ich erstellt und mein einfaches Projekt, ich denke, es könnte die Ursache sein
Hatte ich auch schon DB und Tabelle in mysql; dann habe ich ein leeres java-Projekt habe ich Hinzugefügt source-Datei (java extensions), dann habe ich 2 xml Dateien hibernate.cfg.xml und prod.hbm.xml). Dann habe ich nur zusammengestellt, in der Hoffnung, dass ich laufen würde.
Und hier ist die Nachricht habe ich von der Befehlszeile nach dem Versuch, meine Anwendung wird als java-Applikation
Jul 13, 2012 12:32:55 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
Jul 13, 2012 12:32:55 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.2.Final}
Jul 13, 2012 12:32:55 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Jul 13, 2012 12:32:55 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Jul 13, 2012 12:32:56 PM org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator initiateService
WARN: HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections
Connection cannot be null when 'hibernate.dialect' not set
- Überprüfen Sie die Verbindungs-URL ein.
- Ich denke, dass das Passwort fehlt
- Danke, ich habe das Passwort, aber ich es gelöscht beim posten der Frage hier. Ich habe auch aktualisiert, wie ich bei dem oben genannten Projekt.
- Ich denke, dass Hibernate nicht Lesen Ihre Konfigurationsdatei. Überprüfen Sie die Konfigurations-Datei name, und die Art und Weise, die Sie starten, Hibernate.
Du musst angemeldet sein, um einen Kommentar abzugeben.
sollte es
Ich vermute, dass Ihre Konfigurationsdatei in Ordnung ist und dass der Fehler in dem code, den Sie verwenden, um erstellen Sie Ihre SessionFactory. Sie haben gemuckt, um mit diesem in Hiberanate 4 und es hat die unsagbare Verwirrung.
Diese funktioniert bei mir:
}
Ich hatte den gleichen Fehler wie du, merkte ich, dass ich fehlte der wichtige Aufruf der Konfiguration.configure() in das hässliche Codezeile definieren die serviceRegistry.
(Übrigens, der Fehler über hibernate.Dialekt ist eine red herring - wenn Hibernate nicht finden können, die Datenbank-es kann nicht funktionieren, das Dialekt, und es fälschlicherweise beschwert sich über den Dialekt statt das zugrunde liegende problem.)
Verbrachte ich nur 2 Tage versuchen, dies zu beheben masty bug
es so happends, dass in
standalone.xml
- Datei von jboss war es nicht anschließeneiner der Datenquellen und anstatt zu sagen, dass, es wirft diese falschen Fehler
also hüten Sie sich vor diesen jboss.
com.mysql.jdbc.Treiber
jdbc:mysql://localhost:3306/Produkte
root
root
10
true
org.hibernate.Dialekt.MySQLDialect
update
Hinweis:
Erste Zeile ist sehr wichtig, überprüfen Sie diese doctype sogar einzelne space gibt auch einige Fehler
Check ur die DB-Passwort, wenn Sie angeben, dass das Passwort.
Vergessen Sie nicht, rufen
configure()
Sein, weil Ruhezustand ist nicht in der Lage zu Lesen alle Ihre Eigenschaften aus dem hibernate.cfg.xml. Auch ich hatte das gleiche problem. Wenn Sie sehen können, die java-console startup-Nachrichten, heißt es
Bedeutet es, dass das system geht davon aus, dass Sie konfigurieren die Eigenschaften von der Anwendung. e.g hibernate.cfg.xml nicht finden, hibernate.Eigenschaften Datei
War es so passiert in meinem Fall, dass nur "Routenplaner" Eigentum war, sah von dieser xml-rest keine anderen Eigenschaften waren zu Lesen. Also habe ich einen anderen Ruhezustand.Eigenschaften Datei in meiner Klasse Weg und definiert die Eigenschaften der Verbindung gibt. Und jetzt war es zu Lesen alle diese Eigenschaften aus den Eigenschaften der Datei anstelle von xml. (Sie können immer sehen, was alle Eigenschaften, die gelesen wurden, von den Ressourcen von der Konsole-Fenster). Also musste ich machen Verwendung der beiden xml und properties-Datei. Ich bin immer noch unklar, was das Problem genau ist.