java - 在 hbm2ddl 之前创建模式

标签 java hibernate jpa hsqldb

我想用内存中的 hsqldb 测试我的程序。要创建表,我使用 hibernate.hbm2ddl.auto=create 但是我得到一个异常(exception),因为在创建表之前不会创建通过注释在实体类中定义的模式。现在我正在寻找机会在 hibernate.hbm2ddl.auto 运行之前创建模式。删除模式对我来说不是一个机会,因为我的程序需要它们。

我的问题与this 几乎一样.不同的是我不使用 spring,所以该解决方案对我不起作用。

最佳答案

假设您正在使用 H2 数据库,您可以提供 init 命令以使用 jdbc 连接 url 运行。例如:

your.jdbc.url=jdbc:h2:mem:;DB_CLOSE_DELAY=-1;INIT=create schema IF NOT EXISTS your_schema

不幸的是,hibernate jira 上的问题仍未解决https://hibernate.atlassian.net/browse/HHH-5665

关于java - 在 hbm2ddl 之前创建模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24881121/

相关文章:

java - SAX XML 解析器在处理特殊字符时遇到麻烦

java - 使用 hibernate-search 在嵌入式实体中实现多个约束

java - jpa hibernate,是否可以在不指定查询的情况下列出表的所有行?

java - 使用 Play Framework 1.x,如何让 JPA 在生产模式下创建缺失的数据库表?

hibernate - JPA 注释不保留 BigDecimal 精度

java - 将实体及其所有相关实体保存在 spring boot jpa 中的单个保存中

方法存在时的Java NoSuchMethodError

java - 计算 n 位 2 的补数的绝对值

java - 如何在 Spring-Boot 中配置日志记录框架?

hibernate - 使用 hibernate/derby自动创建数据库模式