# Grundlegende Einstellungen



## mg_666 (9. Okt 2007)

Guten Morgen,

ich möchte in einer Anwendung das die grundlegenden Einstellungen für hibernate nicht über die hibernate.cfg.xml bzw. über hibernate.properties erfolgt. 
Jedoch muss ich ein wenig weiter ausholen. Ich habe in der Anwendung bereits schon hibernate genutzt und alles hat einwandfrei funktioniert. Ich habe in damals noch die hibernate.cfg.xml verwendet und das Mapping über Annotations realisiert.
Jetzt soll aber die Konfiguration von Hibernate so umgebastelt werden, dass diese direkt in Java erfolgt. Dieses hat folgenden Hintergrund, dass der Anwender z.B. seine Datenbank eintragen kann und diese dann in die Konfig umgewurstelt wird und dementsprechend dann diese Datenbank anspricht.


```
final  AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.configure("/hibernate.cfg.xml");
		sessionFactory = cfg.buildSessionFactory();
```

Dieses war der ursprüngliche Initialisierung der SessionFactory. Ich habe nun versucht der cfg dort die AnnotatedClasses und die eigentlichen Propertys der DB dort anzuhängen bzw. zu setzen.
Mache ich irgendwie einen Denkfehler???

Gruß
Matthias


----------



## SlaterB (9. Okt 2007)

> Ich habe nun versucht der cfg dort die AnnotatedClasses und die eigentlichen Propertys der DB dort anzuhängen bzw. zu setzen. 
> Mache ich irgendwie einen Denkfehler??? 

wie soll man das beurteilen wenn du zu deinen Versuchen keine Silbe oder Code-Zeile verlierst?
grundsätzlich sollte eine Konfiguration ohne hibernate.cfg.xml möglich sein, ja


----------



## mg_666 (9. Okt 2007)

Auszug Initialisierung Session Factory


```
final AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.setProperty("hibernate.transaction.factory_class", "org.hibernate.transaction.JDBCTransactionFactory");
configuration.setProperty("hibernate.connection.url", "jdbc:postgresql://localhost:5432/lala");
configuration.setProperty("hibernate.connection.username", "lala");
configuration.setProperty("hibernate.connection.password", "lala");
configuration.setProperty("hibernate.connection.driver_class", "org.postgresql.Driver");
configuration.setProperty("hibernate.dialect","org.hibernate.dialect.PostgreSQLDialect");
configuration.setProperty("hibernate.cache.provide_class", "org.hibernate.cache.EhCacheProvider");
configuration.setProperty("hibernate.transaction.factory_class","org.hibernate.transaction.JDBCTransactionFactory");
configuration.setProperty("current_session_context_class", "thread");
configuration.setProperty("hibernate.hbm2ddl.auto","update");
configuration.addAnnotatedClass(package.Klasse.class);
sessionFactory = configuration.buildSessionFactory();
```

und damit kannst was anfangen?[/code]


----------

