如何从用户定义的目录中读取hibernate配置文件

时间:2011-12-12 17:35:43

标签: java hibernate jdbc toplink

我需要提供一个jar文件,它提供了一个API来使用Hibernate从数据库中检索记录。

例如我有一个API:

public List getUsers(String locationOfHibernateConfigFile) {
} 

我尝试使用c:\hibernate-cfg.xml使用完整路径传递配置文件的位置,如下所示:

SessionFactory sessionFactory = new Configuration()
                          .configure(C:\hibernate.cfg.xml).buildSessionFactory();
session = sessionFactory.openSession();

我收到错误c:\hibernate-cfg.xml is not found

请给我一些指导来实现同样的目标。

3 个答案:

答案 0 :(得分:2)

SessionFactory sessionFactory = new Configuration()
    .configure("hibernate.primaryKeys.cfg.xml")
    .buildSessionFactory();

其中hibernate.primaryKeys.cfg.xml是用户定义的hibernate文件。

这样可以,但确保hibernate.primaryKeys.cfg.xml在您的类路径中。

答案 1 :(得分:1)

好吧,试试吧:

File file = new File("C:\hibernate.cfg.xml");
SessionFactory sessionFactory = new Configuration().configure(file).buildSessionFactory();

但不建议将此类配置保留在C:。

答案 2 :(得分:1)

您可以阅读文件和属性:

只需将文件hibernate.cfg.xml放入资源文件夹中即可。

Properties properties = new Configuration().configure().getProperties();

String driver = properties.getProperty("hibernate.connection.driver_class");
String url = properties.getProperty("hibernate.connection.url");
String username = properties.getProperty("hibernate.connection.username");
String password = properties.getProperty("hibernate.connection.password");