Probleme mit der Schnittstelle H1bernate/Eclipse

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

leider muss ich in genau einer Woche ein Projekt im Fach Datenbanken abgehen. Es geht dabei um die Verbindung zwischen Elipse und MySQL. Diese habe ich versucht mit dem Tool Hibernate zu lösen. Die Implementierung hat auch ganz gut geklappt, nun bekomme ich bei der Herstellung der Verbindung aber eine Fehlermeldung.... :(

Da ja schon nächste Woche der Abgabetermin meiner Arbeit ist, hoffe ich, dass Ihr mir hier schnell helfen könnt.

Also, kommen wir zum Fehler:

"org.hibernate.HibernateException: Hibernate Dialect must be explicitly set"

"Could not initialzie the Hibernate configuration"


Ich habe mich bei der Implementierung an ein Tutorial aus dem Internet gehalten. Dieses funktionierte auch super, bis gerade jetzt beim Aufbau der Verbindung zur Datenbank in MySQL.

Versteht Ihr vielleicht, warum dieser Fehler geworfen wird bzw. wie ich diesen beseitigen kann??

Ich hoffe auf Eure schnellstmöglich Rückmeldung.

MfG

Buergy

Hier ist nochmal eben mein QuellCode zu der HibernateSessionFactory:

Code:
 package blablablapackage;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

/**
 * Configures and provides access to Hibernate sessions, tied to the
 * current thread of execution.  Follows the Thread Local Session
 * pattern, see {@link [url]http://hibernate.org/42.html[/url] }.
 */
public class HibernateSessionFactory {

    /** 
     * Location of hibernate.cfg.xml file.
     * Location should be on the classpath as Hibernate uses  
     * #resourceAsStream style lookup for its configuration file. 
     * The default classpath location of the hibernate config file is 
     * in the default package. Use #setConfigFile() to update 
     * the location of the configuration file for the current session.   
     */
    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
	private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
    private  static Configuration configuration = new Configuration();    
    private static org.hibernate.SessionFactory sessionFactory;
    private static String configFile = CONFIG_FILE_LOCATION;

	static {
    	try {
			configuration.configure(configFile);
			sessionFactory = configuration.buildSessionFactory();
		} catch (Exception e) {
			System.err
					.println("%%%% Error Creating SessionFactory %%%%");
			e.printStackTrace();
		}
    }
    private HibernateSessionFactory() {
    }
	
	/**
     * Returns the ThreadLocal Session instance.  Lazy initialize
     * the <code>SessionFactory</code> if needed.
     *
     *  @return Session
     *  @throws HibernateException
     */
    public static Session getSession() throws HibernateException {
        Session session = (Session) threadLocal.get();

		if (session == null || !session.isOpen()) {
			if (sessionFactory == null) {
				rebuildSessionFactory();
			}
			session = (sessionFactory != null) ? sessionFactory.openSession()
					: null;
			threadLocal.set(session);
		}

        return session;
    }

	/**
     *  Rebuild hibernate session factory
     *
     */
	public static void rebuildSessionFactory() {
		try {
			configuration.configure(configFile);
			sessionFactory = configuration.buildSessionFactory();
		} catch (Exception e) {
			System.err.println("%%%% Error Creating SessionFactory %%%%");
			e.printStackTrace();
		}
	}

	/**
     *  Close the single hibernate session instance.
     *
     *  @throws HibernateException
     */
    public static void closeSession() throws HibernateException {
        Session session = (Session) threadLocal.get();
        threadLocal.set(null);

        if (session != null) {
            session.close();
        }
    }

	/**
     *  return session factory
     *
     */
	public static org.hibernate.SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	/**
     *  return session factory
     *
     *	session factory will be rebuilded in the next call
     */
	public static void setConfigFile(String configFile) {
		HibernateSessionFactory.configFile = configFile;
		sessionFactory = null;
	}

	/**
     *  return hibernate configuration
     *
     */
	public static Configuration getConfiguration() {
		return configuration;
	}

}

Vielen Dank schon einmal im Voraus für Eure Hilfe.
 

computersport

Aktives Mitglied
Moinsens,

so ich habe komplett das selbe Problem ich habe auch schon alle möglichen Dialekte ausprobiert von InnoDB bis diesen einen anderen keine Ahnung wie der gerade heißt.

Ich zeig euch grad meine hibernate.cfg.xml :

Java:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                                         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <!-- Database connection settings -->
  
  
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
  <property name="hibernate.connection.url">xxx</property>
  <property name="hibernate.connection.username">xxx</property>
  <property name="hibernate.connection.password">xxx</property>
  <property name="hibernate.default_schema">xxx</property>
  
  <!-- JDBC connection pool (use the built-in) -->
  <property name="connection.pool_size">1</property>
  
  <!-- SQL dialect -->
  <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
    
  <!-- Enable Hibernate's current session context -->
  <property name="current_session_context_class">thread</property>
  
  <!-- Disable the second-level cache  -->
  <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
  
  <!-- Echo all executed SQL to stdout -->
  <property name="show_sql">true</property>
  
 </session-factory>
</hibernate-configuration>

Code:
Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
	at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:80)
	at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:62)
	at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:460)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:155)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
	at ourProject.server.HibernateUtil.<clinit>(HibernateUtil.java:26)

Ich weiß echt nicht wo das Problem liegt.
Die Configfile liegt auch im src-ordner.

Vielleicht kennt jemand die Lösung.

Vielleicht ist noch zu sagen das ich GWT und Hibernate benutze.

greetz
Compi
 
M

maki

Gast
[xml]<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/> [/xml]

show sql etc. sind auch falsch ;)
 

computersport

Aktives Mitglied
Ich hab mal einfach zum testen eine andere Datenbank verwendet aus einem Beispielprojekt,
wo alles einwandfrei läuft. Dort hab ich die configdatei in mein Projekt kopiert.

Der fehler ist der gleiche also würd ich vermuten das die Configdatei von hibernate nicht
gefunden wird. Bloß warum weiß ich einfach nicht... sie liegt im richtigen Ordner.
 

computersport

Aktives Mitglied
So hab den fehler gefunden. Und wie es oft ist dieser auch noch richtig banal.

Java:
package ourProject.server;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

import ourProject.server.useradmin.User;

public class HibernateUtil {
	
	private static AnnotationConfiguration config = new AnnotationConfiguration();
	private static SessionFactory factory = config.buildSessionFactory();
	
	static {
		try {
			config.addAnnotatedClass(User.class);

			
			config.configure("hibernate.cfg.xml");
			
			// Muss nur beim ersten mal ausgeführt werden damit
			// das Datenbank schema in der Datenbank erstellt wird.
			new SchemaExport(config).create(true,true);
			
		} catch (Throwable ex) {
			System.err.println("Initial SessionFactory creation failed." + ex);
		      throw new ExceptionInInitializerError(ex);
		}
	}

	public static SessionFactory getFactory() {
		
		return factory;
	}
	

}

Hier sieht man ja das ich ein AnnotationConfiguration Objekt erstellt habe. Und gleich danach auch die SessionFactory. Das dumme in diesem Fall ist nur das die SessionFactory erstellt wird bevor dem Object per addAnnotatedClass(User.class) die entsprechenden Klassen hinzugefügt wurden. Man das ist ärgerlich, ich saß bis 3 Uhr nachts und hab nach dem Fehler gesucht :autsch:
Java:
        private static AnnotationConfiguration config = new AnnotationConfiguration();
	private static SessionFactory factory = config.buildSessionFactory();
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
Kirby.exe Probleme mit docker-compose.yml Datenbankprogrammierung 4
B Probleme mit Datenbankverbindung Datenbankprogrammierung 2
N java SQL JAR - Probleme Datenbankprogrammierung 18
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
T Oracle Probleme bei getTableName Datenbankprogrammierung 8
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
D Probleme bei Einsteiger Aufgabe SQL Datenbankprogrammierung 2
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
Z MySQL Probleme mit resultSet executQuery Datenbankprogrammierung 3
H Probleme mit Unicodedarstellung in Derby DB Datenbankprogrammierung 1
M MySQL probleme beim "Generate Tables from Entities" Datenbankprogrammierung 9
L Probleme mit DriverManager.getConnection(..) - Endlosschleife, Java Absturz, Keine Exception Datenbankprogrammierung 4
S Derby/JavaDB Probleme beim anlegen einer embedded DB Datenbankprogrammierung 13
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
W Probleme mit AND und OR Datenbankprogrammierung 5
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Gossi CallableStatement Probleme Datenbankprogrammierung 8
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
L Derby/JavaDB Derby macht Probleme Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
M Probleme mit Triggering Datenbankprogrammierung 2
F DB2 Probleme mit dem DriverManager Datenbankprogrammierung 4
S Derby/JavaDB OpenJPA, @oneToMany und Probleme Datenbankprogrammierung 2
I MySQL Probleme mit kyrillischen Zeichen Datenbankprogrammierung 2
A Derby/JavaDB Probleme beim Einbinden Datenbankprogrammierung 2
S Probleme mit INSERT Befehl Datenbankprogrammierung 11
R isLast() Probleme bei Pervasive Datenbankprogrammierung 5
S Probleme mit localhost Datenbankprogrammierung 14
M Oracle Probleme mit dem anbinden einer Oracle 10g Datenbank Datenbankprogrammierung 27
J MySQL Hibernate: Probleme beim Speichern von OneToMany - Datensätzen Datenbankprogrammierung 2
P Hibernate -> Probleme bei n:m-Relation und JUnit Datenbankprogrammierung 10
J Probleme mit Datenbankzeiger Datenbankprogrammierung 19
A Probleme mit auf DB2 Express zugreiffen Datenbankprogrammierung 6
N Probleme beim Aufruf aus der DB Datenbankprogrammierung 7
M Probleme bei Select in Schleife Datenbankprogrammierung 7
G Probleme mit Datenbankanbindung Datenbankprogrammierung 3
R Probleme mit Insert Datenbankprogrammierung 2
P Probleme mit Oracle Timestamp Datenbankprogrammierung 3
klattiator Hibernate - Probleme bei Konfiguration Datenbankprogrammierung 3
F Probleme mit entfernter DB und Hibernate Zeichensatz Datenbankprogrammierung 3
A Probleme mit Jar-File in ein Jar-File Datenbankprogrammierung 8
O Derby Performance Probleme? Datenbankprogrammierung 4
V Probleme beim Öffnen "einiger" SuperbaseTabellen p Datenbankprogrammierung 8
G Probleme beim Methodenaufruf einer EJB Datenbankprogrammierung 10
ARadauer hibernate probleme Datenbankprogrammierung 13
Y Probleme mit H2 und Primary Key Datenbankprogrammierung 4
D Probleme mit mysql-Connection Datenbankprogrammierung 10
G INNODB backup probleme Datenbankprogrammierung 2
S Probleme mit statement.close() Datenbankprogrammierung 10
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Probleme mit Laden des JDBC-Treiber in HSQLDB Datenbankprogrammierung 2
T Probleme mit Date in H2 Datenbank Datenbankprogrammierung 2
4 Probleme mit Select abfrage Datenbankprogrammierung 4
N Probleme mit Access-DB bei einem Webserver Datenbankprogrammierung 5
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
R Probleme mit Datensätzen in MySql DB Datenbankprogrammierung 3
B Oracle Driver Probleme Datenbankprogrammierung 2
I Probleme bei MySQL - Replikation Datenbankprogrammierung 2
R Probleme mit ausführbarem Jar Archiv Datenbankprogrammierung 9
F Probleme mit Jar Datei Datenbankprogrammierung 3
S String probleme Datenbankprogrammierung 3
R Probleme mit der Verbindung zum localhost Datenbankprogrammierung 12
S Probleme bei der Installation von MySQL 5.0 Datenbankprogrammierung 4
A Probleme mit ResultSet und getString(i) Datenbankprogrammierung 13
G Probleme mit Access und Join Datenbankprogrammierung 3
N Probleme mit "nur vorwärts gerichtete ResultSet" Datenbankprogrammierung 7
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
S JDBC-Anfänger und Probleme beim Treiberfinden etc. Datenbankprogrammierung 4
T Probleme beim Verbindungsaufbau zum SQL 2000 Datenbankprogrammierung 2
G Probleme mit Datenbankeinträge Datenbankprogrammierung 4
G Probleme mit Treiber (connector) Datenbankprogrammierung 20
thE_29 getBytes() - russland/bulgarien -- andere Codecs Probleme Datenbankprogrammierung 8
E Probleme mit JDBC und Executable-Jar Datenbankprogrammierung 2
G Probleme mit MySQL - Anmeldung Datenbankprogrammierung 2
P Probleme mit NullPointerException Datenbankprogrammierung 5
K MySQL: Probleme mit dem Verbinden per IP-Adresse Datenbankprogrammierung 6
T Probleme mit Datenbank Datenbankprogrammierung 6
N Schnittstelle zum ORTS- Ticketsystem Datenbankprogrammierung 8
Noneatme PHP als Schnittstelle Datenbankprogrammierung 6
G Ist meine Datenbank-Schnittstelle threadsicher? Datenbankprogrammierung 3
G JDBC - MYSQL - Schnittstelle in Java programmieren Datenbankprogrammierung 8
M Andocken an eine odbc Schnittstelle Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben