[Hibernate] Dynamischer Datenbankpfad

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo zusammen,

in meiner Anwendung verwende ich Hibernate. Nun gilt als Anforderung an die Anwendung, dass der Benutzer den Pfad zur Datenbank ändern darf.

Dies stellt mich vor ein Problem:
Wie kann man in der hibernate.cfg.xml den eingetragenen Pfad ändern?

Die sieht in etwa so aus:
Code:
<?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>

    <session-factory>

        
        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
        <property name="connection.url">jdbc:hsqldb:C:/BeispielAnwendung/Anwendung</property>
        <property name="connection.username">sa</property>
        <property name="connection.password"></property>
//Usw.

Die Connection URL muss also geändert werden. Hat da jemand eine Idee, wie man den Pfad in der xml-Datei ändern kann?

Gruß
 

HoaX

Top Contributor
wieso in der xml ändern? änders doch zur laufzeit.
Code:
configuration.setProperty("hibernate.connection.url", connectionURL);
sessionFactory = configuration.buildSessionFactory();
 
G

Guest

Gast
Ich habe nun folgende Methode in der HibernateSessionFactory erzeugt:

Code:
/**
   * Wird benötigt, um den Datenbankpfad variabel zu halten
   * @param connString
   * @return
   * @throws HibernateException
   */
  public static Session currentSession(String connString) throws HibernateException
  {
    Session session = (Session) threadLocal.get();
    if (session == null || ! session.isConnected())
    {
      if (sessionFactory == null)
      {
        try
        {
          cfg.setProperty("hibernate.connection.url", connString);
          cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
          sessionFactory = cfg.buildSessionFactory();
        }
        catch (Exception e)
        {
          System.err.println("%%%% Error Creating SessionFactory %%%%");
          e.printStackTrace();
        }
      }
      session = sessionFactory.openSession();
      threadLocal.set(session);
    }
    return session;
  }

Bei dem Ladevorgang einer Entität erhalte ich kein Objekt zurück, obwohl es explizit existiert. Welche anderen Einstellungen wie mapping resouce sind denn noch zu machen?
 
G

Guest

Gast
Meine Methode sieht nun wie folgt aus:
Code:
public static Session currentSession(String connString) throws HibernateException
  {
    Session session = (Session) threadLocal.get();
    if (session == null || ! session.isConnected())
    {
      if (sessionFactory == null)
      {
        try
        {
          cfg.setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver");
          cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
          cfg.setProperty("hibernate.connection.url", connString);
          cfg.setProperty("hibernate.connection.username", "sa");
          cfg.setProperty("hibernate.connection.password", "");
          cfg.addResource("Entität1.hbm.xml");
          cfg.addResource("Entität2.hbm.xml");
          cfg.addResource("Entität3.hbm.xml");
          sessionFactory = cfg.buildSessionFactory();
        }
        catch (Exception e)
        {
          System.err.println("%%%% Error Creating SessionFactory %%%%");
          e.printStackTrace();
        }
      }
      session = sessionFactory.openSession();
      threadLocal.set(session);
    }
    return session;
  }

Trotzdem erhalte ich keinen Datensatz aus der DB. Es erscheint hierbei keine Fehlermeldung.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
I JPA / Hibernate "Predicate" kombinieren in der gleichen Query Java Basics - Anfänger-Themen 1
I BLOB / CLOB und Hibernate... Ratschläge benötigt Java Basics - Anfänger-Themen 10
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
D hibernate annotation Java Basics - Anfänger-Themen 2
D hibernate: string vs setparameter Java Basics - Anfänger-Themen 1
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Java Basics - Anfänger-Themen 4
Todesbote Int Array mit Hibernate in Datenbank speichern. Java Basics - Anfänger-Themen 2
DStrohma Best Practice Hibernate für kleine Anwendung nutzen? Java Basics - Anfänger-Themen 4
I Hibernate Java Basics - Anfänger-Themen 4
T Hibernate Fehlermeldung Java Basics - Anfänger-Themen 9
D [Hibernate] Objektinhalte auslesen Java Basics - Anfänger-Themen 8
N Hibernate "Hello World" Tutorial gesucht Java Basics - Anfänger-Themen 9
F Logging von Hibernate-Statements und Glassfish Java Basics - Anfänger-Themen 2
G Maps und Hibernate - Performancefrage Java Basics - Anfänger-Themen 2
G hibernate . tutorial prob . Java Basics - Anfänger-Themen 4
G org.hibernate.MappingException:An AnnotationConfiguration. Java Basics - Anfänger-Themen 3
G [Hibernate] Node to traverse cannot be null Java Basics - Anfänger-Themen 3
G java.lang.IllegalArgumentException -> Hibernate Java Basics - Anfänger-Themen 2
G Hibernate, JDO und Alternativen Java Basics - Anfänger-Themen 4
G [Hibernate] Richtiger ColumnType Java Basics - Anfänger-Themen 2
G [Hibernate] Aus SQL-Statement Entities erzeugen Java Basics - Anfänger-Themen 2
G [Hibernate] Constraints über mehrere Tabellen Java Basics - Anfänger-Themen 2
G [Hibernate] Could not find a setter for property Java Basics - Anfänger-Themen 2
M [Hibernate] "Illegal start of expression"-Fehler b Java Basics - Anfänger-Themen 2
B Hibernate - DB2 - Java Java Basics - Anfänger-Themen 3
M [Hibernate]: Cascade-Frage Java Basics - Anfänger-Themen 4
S Hibernate Session: Wie in alle Klassen Java Basics - Anfänger-Themen 19
M [Hibernate] Speichern von ManyToOne-Beziehungen in der DB Java Basics - Anfänger-Themen 12
G JTable aus Hibernate Zeile löschen Java Basics - Anfänger-Themen 4
H [Hibernate] HibernateSessionFactory Pfad setzen Java Basics - Anfänger-Themen 4
G [Hibernate] Laden aus DB funktioniert nicht Java Basics - Anfänger-Themen 8
G [Hibernate] Beschränkte Selektion Java Basics - Anfänger-Themen 2
G [Hibernate] StaleStateException beim Löschen Java Basics - Anfänger-Themen 3
G Einfacher Anfang mit Hibernate Java Basics - Anfänger-Themen 4
F [Hibernate] Debug INFO Einstellungen Java Basics - Anfänger-Themen 5
F [Hibernate] Alle Objekte laden aus der DB laden Java Basics - Anfänger-Themen 6
F [Hibernate] Id aus DB auslesen Java Basics - Anfänger-Themen 5
C Hibernate und Mandantenfähigkeit Java Basics - Anfänger-Themen 7
G hibernate tutorial Java Basics - Anfänger-Themen 3
R Verständnisproblem mit Hibernate Java Basics - Anfänger-Themen 2
N Hibernate will nicht so wie ich Java Basics - Anfänger-Themen 4
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
O Statischer und Dynamischer Typ Java Basics - Anfänger-Themen 6
L Polymorphie Dynamischer oder Statischer Typ für Methodenparameter Java Basics - Anfänger-Themen 8
T Unterschied dynamischer und statischer Laufzeittyp Java Basics - Anfänger-Themen 1
W Dynamischer und statischer Typ von Referenzvariablen Java Basics - Anfänger-Themen 13
C Input/Output Dynamischer Output von Arrays Java Basics - Anfänger-Themen 3
D dynamischer Aufruf Java Basics - Anfänger-Themen 2
C Datentypen Array mit dynamischer Länge? Java Basics - Anfänger-Themen 14
J Verschachtelte for schleife mit dynamischer Anzahl an Schleifen Java Basics - Anfänger-Themen 10
N "Dynamischer" Iterator Java Basics - Anfänger-Themen 21
G Dynamischer Methodenaufruf Java Basics - Anfänger-Themen 3
T Dynamischer JTabbedPane Probleme mit JTextArea Java Basics - Anfänger-Themen 2
S Fehler nach dynamischer Anpassung - Minesweeper Java Basics - Anfänger-Themen 6
V Dynamischer Klassen bzw. Methodenaufruf Java Basics - Anfänger-Themen 6
H statische, dynamischer Typ von Variablen Java Basics - Anfänger-Themen 1
B Dynamischer Filename Java Basics - Anfänger-Themen 3
M Variabler/dynamischer Objektname? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben