我有两种情况。
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的目录中 - 它正在工作(我没有使用&#34; sa&#34;密码空白)。我不想将h2 db放到用户的文件夹中,如jdbc:h2:〜/ test)。
谢谢。
答案 0 :(得分:1)
您应该将hibernate
前缀附加到您的所有媒体资源。
尝试为H2提供数据库文件夹的绝对路径:
<property name="hibernate.connection.url">jdbc:h2:file:/your-project-path/test-db</property>
我认为Driver类设置也不正确。它应该是:
<property name="hibernate.connection.driver_class" value="org.h2.Driver" />