我有两种情况。
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>
H2 db 在我的 src 文件夹附近的项目中。如果我尝试从简单类测试连接,它会起作用。它连接到项目文件夹中正确位置的数据库。
现在我正在进行新配置以启动 tomcat + servlet。一切都很好,但是 tomcat 在他的文件夹中创建了新的 H2 数据库:(apache-tomcat-8.0.17\bin\H2\test.mv.db)。是否可以让 tomcat 从我的项目文件夹中获取(使用)我的 test.mv.db?
如果我将项目中的 test.mv.db 手动放入 tomcat 的目录中 - 它正在工作(我没有使用密码为空的“sa”)。我不想将 h2 db 放入用户的文件夹中,如 jdbc:h2:~/test)。
谢谢。
最佳答案
您应该将
hibernate
前缀附加到您的所有属性。尝试为 H2 提供数据库文件夹的绝对路径:
<property name="hibernate.connection.url">jdbc:h2:file:/your-project-path/test-db</property>
我认为驱动程序类设置也不正确。应该是:
<property name="hibernate.connection.driver_class" value="org.h2.Driver" />
关于java - Tomcat H2 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178226/