java - Tomcat H2 部署

标签 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 的目录中 - 它正在工作(我没有使用密码为空的“sa”)。我不想将 h2 db 放入用户的文件夹中,如 jdbc:h2:~/test)。

谢谢。

最佳答案

  1. 您应该将 hibernate 前缀附加到您的所有属性。

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

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

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

关于java - Tomcat H2 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178226/

相关文章:

java - 如何从不同的 Activity 检索 boolean 值?

java - 在“设置”-“Android Studio”-“Java”中启用“不显示应用程序的NotificationListenerService”

java - 有没有像样的免费 Java 数据绘图库?

sql - 使用增量记录创建基于 SQL 查询的每日报告

java - 如何使用 Spring-roo、hibernate-spatial、Postgres 9.3、postgis 2 对几何(Polygon,4258)等空间类型进行逆向工程?

java - Hibernate 和 JPA,用什么,用在哪里?

java - 在eclipse中运行maven项目的问题,不被识别为Java项目

database - 数据层测试

database - 使用sql将文件csv中的数据导入Oracle

java - JPA (Hibernate)/QueryDSL left join with condition 不起作用