Java 在不同的文件夹位置休眠映射文件和配置文件
自从我使用Hibernate已经十多年了,所以很多事情我都忘记了 我正在尝试使用配置文件和hbm映射文件为不同文件夹中的表设置Hibernate 所以我这样做代码:Java 在不同的文件夹位置休眠映射文件和配置文件,java,hibernate,Java,Hibernate,自从我使用Hibernate已经十多年了,所以很多事情我都忘记了 我正在尝试使用配置文件和hbm映射文件为不同文件夹中的表设置Hibernate 所以我这样做代码: /** * Initialize the Hibernate Session Factory. */ private void init () { try { if (sessionFactory == null) { Configuration co
/**
* Initialize the Hibernate Session Factory.
*/
private void init () {
try {
if (sessionFactory == null) {
Configuration configuration = new Configuration();
configuration.addDirectory(new File("/opt/webserver/datasources/hibernate-tables-cfg"));
sessionFactory = configuration.configure(new File("/opt/webserver/datasources/hibernate-cfg/hibernate.cfg.xml")).buildSessionFactory();
} else if (sessionFactory.isClosed()) {
sessionFactory = new Configuration().configure().buildSessionFactory();
}
} catch (HibernateException e) {
logger.logException("Unable to get Connection to the Database: " + e.getMessage(), e);
}
}
在配置文件中,我的映射标记设置如下:
<mapping resource = "deviceGrouping.hbm.xml"/>
但我一直得到一个例外:
org.hibernate.boot.MappingNotFoundException:找不到映射(资源):deviceGrouping.hbm.xml:来源(deviceGrouping.hbm.xml)
我假设,因为我在配置中添加映射文件的目录,所以我不必在XML文件中提供任何路径(相对路径或绝对路径)
任何指示都会有帮助。谢谢。不确定如何运行应用程序,但这些文件必须可以在类路径上访问。除此之外,我建议您使用注释模型。XML被放置在一个外部目录中,在部署期间文件被复制到该目录中。我将尝试阅读注释模型。