2016-10-03 3 views
0

Die Datenbankgruppe hat die Datenbank kürzlich auf Oracle12c aktualisiert. Ich verwende derzeit Hibernate 4.3.9. Wenn ich versuche, um die Anwendung zu implementieren, wirft WebLogic eine Ausnahme:WebLogic-Modul Ausnahme bei Hibernate-Dialekt

weblogic.application.ModuleException: org.hibernate.HibernateException: Kann Dialekt bestimmen, verwenden [name = Oracle, majorversion = 12]; Benutzer muss Resolver registrieren oder 'Hibernate.dialect' explizit festlegen.

HibernateUtil hat

props.setProperty("hibernate.dialect", "utilities.OracleDialectExtended"); 

Wo OracleDialectExtended Oracle10gDialect, um eine Doppel als Schwimmer registrieren erstreckt. HibernateUtil wird verwendet, um die Eigenschaften festzulegen, anstatt in hibernate.cfg.xml.

Alles, was ich gelesen habe, zeigt an, dass Oracle10gDialect in Ordnung sein sollte. In der Tat, wenn ich die gleiche Einrichtung in einem Batch-Modus (ohne WebLogic) verwenden, kann ich problemlos mit Oracle verbinden und arbeiten.

Weiß jemand, wie man das löst? Oder ist dies ein WebLogic-Problem, das von einem WebLogic-Administrator behoben werden muss?

Danke.

Antwort

0

einfach folgen zu lassen - am Ende habe ich Hibernate von 4.3.9 auf 5.1.2 aktualisiert und Dinge begann wieder zu arbeiten.

Nicht die ideale Lösung, da eine Datenbankaktualisierung eine Anwendung nicht unterbrechen sollte, aber es war der schnellste Weg, die Dinge wieder zum Laufen zu bringen.

0

Versuchen mit diesem:

props.setProperty("hibernate.dialect","org.hibernate.dialect.OracleDialect"); 
+0

org.hibernate.dialect.OracleDialect ist veraltet und der empfohlene Ersatz ist Oracle8iDialect, der sich im Vererbungsbaum für Oracle10gDialect befindet. Der 12c-Dialekt befindet sich nicht im selben Vererbungsbaum wie OracleDialect, bis Sie zu Dialekt gelangen. Aber OracleDialect und Oracle10gDialect sind Unterklassen von Dialekt. Was ich also vermisse, ist, wenn ich nur die Funktionen verwende, die für eine bestimmte Klasse verfügbar sind, warum kümmert sich WebLogic dann, welche verwendet wird. – BigFish

+0

http://stackoverflow.com/questions/31698651/hibernate-dialect-for-oracle-12c?rq=1 – BigFish

+0

Ich denke, die WebLogic hat nichts mit diesem Problem zu tun, das Problem hängt mit der Konfiguration des Ruhezustandkontextes zusammen. mit Bezug auf den Ruhezustand. Überprüfen Sie die Ausnahme, ihre Ruhezustandsausnahme. Sogar org.hibernate.dialect.OracleDialect ist veraltet, hat es für Sie funktioniert? –

Verwandte Themen