Tomcat H2部署

时间:2015-01-27 19:14:32

标签: java database hibernate configuration h2

我有两种情况。

hibernate.cfg:
<property name="connection.url">jdbc:log4jdbc:h2:./H2/test</property>
<property name="connection.driver_class">net.sf.log4jdbc.sql.jdbcapi.DriverSpy</property>
<property name="connection.username">user</property>
<property name="connection.password">password</property>
<property name="dialect">org.hibernate.dialect.H2Dialect</property>
  1. H2 db在我的src文件夹附近的项目中。如果我尝试从简单的类测试连接,它的工作原理。它连接到项目文件夹中正确位置的数据库。

  2. 现在我正在进行新配置以启动tomcat + servlet。一切都很好,但是tomcat在他的文件夹中创建了新的H2数据库:(apache-tomcat-8.0.17 \ bin \ H2 \ test.mv.db)。是否可以让tomcat从我的项目文件夹中获取(使用)我的test.mv.db?
    如果我将test.mv.db从项目中手动插入到tomcat的目录中 - 它正在工作(我没有使用&#34; sa&#34;密码空白)。我不想将h2 db放到用户的文件夹中,如jdbc:h2:〜/ test)。

  3. 谢谢。

1 个答案:

答案 0 :(得分:1)

  1. 您应该将hibernate前缀附加到您的所有媒体资源。

  2. 尝试为H2提供数据库文件夹的绝对路径:

    <property name="hibernate.connection.url">jdbc:h2:file:/your-project-path/test-db</property>
    
  3. 我认为Driver类设置也不正确。它应该是:

    <property name="hibernate.connection.driver_class" value="org.h2.Driver" />