2009-08-27 22 views
14

Ho il file hibernate.cfg.xml.Configurazione di ibernazione in runtime

<session-factory> 

    <!-- Database connection settings --> 
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="connection.url"></property> 
    <property name="connection.username"></property> 
    <property name="connection.password"></property> 

    <!-- JDBC connection pool (use the built-in) --> 
    <property name="connection.pool_size">1</property> 

.....................

questa è la parte più interessante di file. Ora devo impostare valori mancanti: url, username, password. Sto cercando di fare in modo tale:

public static void SetSessionFactory() { 
    try { 

     AnnotationConfiguration conf = new AnnotationConfiguration().configure(); 
     // <!-- Database connection settings --> 
     conf.setProperty("connection.url", URL); 
     conf.setProperty("connection.username", USERNAME); 
     conf.setProperty("connection.password", PASSWORD); 
     SESSION_FACTORY = conf.buildSessionFactory(); 

    } catch (Throwable ex) { 
     // Log exception! 
     throw new ExceptionInInitializerError(ex); 
    } 
    } 

Ma solo carichi mia configurazione da hibernate.cfg.xm e non modifica alcuna proprietà ...

URL, username, passoword - stanno argomenti della riga di comando quindi devo impostarli su runtime.

+0

che namespace devo usare per usare "AnnotationConfiguration" in asp.net MVC? – bluwater2001

risposta

22

Prova a chiamare conf.configure(); qui.
E le proprietà potrebbero aver bisogno di avere il prefisso di ibernazione come "hibernate.connection.username"
Spero che sia d'aiuto.

+0

maaaaaagic^_^ Aggiunto ibernazione. ai nomi delle proprietà nel file cfg e nel metodo SetSessionFactory e tutto funziona ora! – Oleksandr

1

utilizzare costanti da Environment classe

3

Prova come non si sta lavorando bene conf

AnnotationConfiguration = new

AnnotationConfiguration() configurare ("/ dronehibernate.cfg.xml.");

conf.setProperty("hibernate.connection.url","jdbc:mysql://localhost/PAT_DRONE_DB1"); 

    SessionFactory sessionFactory = conf.buildSessionFactory(); 

    Session session = sessionFactory.openSession(); 

    List<NetworkType> channelList = session.createQuery("from NetworkType").list(); 
Problemi correlati