I have hibernate.cfg.xml file.
<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>
.....................
This is the most interesting part of file. Now i must set missing values: url, username, password. I'm trying to do in such way:
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);
}
}
But it just loads my configuration from hibernate.cfg.xm and do not changing any property...
url, username, passoword - are command-line arguments so i must set them on runtime.
Try like this it is working fine
Try to call
conf.configure();
here.And properties may need to have hibernate prefix like "hibernate.connection.username"
Hope it helps.
Use constants from
Environment
class