1

我们曾经在 Java 源文件夹的同一个文件夹中拥有 hibernate.cfg.xml 和 hibernate.properties 文件。现在我将 hibernate.properties 文件移动到另一个位置。如何让 hibernate.cfg.xml 文件再次找到 hibernate.properties 文件?我收到一个错误,似乎表明它不再被发现。

4

1 回答 1

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;
  }
}

希望它有用。

于 2012-11-09T08:21:02.737 回答