休眠 + Apache Tomcat。嵌入式数据库相对路径

Posted

技术标签:

【中文标题】休眠 + Apache Tomcat。嵌入式数据库相对路径【英文标题】:Hibernate + Apache Tomcat. Embedded database relative path 【发布时间】:2017-01-15 12:19:45 【问题描述】:

我在 Hibernate 和 Apache Tomcat 中使用嵌入式 (H2) 数据库,但如果我在 hibernate.cfg.xml 中像这样配置相对路径:

<property name="connection.url">jdbc:h2:file:.\MyDataBase</property>

此路径类似于 %Tomcat_directory%\bin\MyDataBase

但是我需要指定项目目录来存储项目资源中的数据。我该怎么做?

【问题讨论】:

为什么不使用绝对路径,例如`c:\path\to\database ? 【参考方案1】:

如果你使用 maven,你可以设置系统属性并使用它, 像

<project>
    ...
<properties>
<property>
    <db.jdbc.url>$project.basedir/MyDatabase</db.jdbc.url>
</property>
..

<property name="connection.url">$db.jdbc.url</property>

【讨论】:

以上是关于休眠 + Apache Tomcat。嵌入式数据库相对路径的主要内容,如果未能解决你的问题,请参考以下文章

使用 Maven 在具有数据源的嵌入式 Tomcat 上进行部署

在 spring-boot 中配置嵌入式 apache tomcat 内的“tomcat-server.xml”文件

代码适用于嵌入式Apache Tomcat 8但不适用于9。有什么改变?

苹果电脑怎么关闭apache tomcat

在 Apache SSL 代理后面嵌入 Tomcat 的 Spring Boot

如何使用嵌入式 Tomcat 容器在 Spring Boot 中创建 JNDI 上下文