我们曾经将hibernate.cfg.xml和hibernate.properties文件放在Java源文件夹的同一文件夹中。现在我将hibernate.properties文件移动到另一个位置。如何让hibernate.cfg.xml文件再次找到hibernate.properties文件?我收到一个错误,似乎表明它已经找不到了。
答案 0 :(得分:6)
以编程方式,您可以加载XML和这样的属性:
public class MyHibernate {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
URL r1 = MyHibernate.class.getResource("/hibernate.cfg.xml");
Configuration c = new Configuration().configure(r1);
try {
InputStream is = MyHibernate.class.getResourceAsStream("/hibernate.properties");
Properties props = new Properties();
props.load(is);
c.addProperties(props);
} catch (Exception e) {
LOG.error("Error reading properties", e);
}
return c.buildSessionFactory();
} catch (Throwable ex) {
LOG.error("Error creating SessionFactory", ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
希望它有用。