0

我需要知道使用 PostgreSQL 而不是 Derby 是否可以自动创建表。

故事:我用 Hibernate 和 Derby 成功建立了一个 NetBeans Java 项目。我已经从我的实体类创建了 JPA 控制器类。为了测试项目,我为这些控制器类创建了 JUnit 测试类。

首次运行这些测试类时,将在 Derby 中自动创建表。执行测试后,我可以在数据库浏览器中看到这些表。

在persistence.xml 中有这样一行

<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/MySampleDb;create=true"/>

建立连接并在需要时指示要创建的表(注意行尾的“;create=true”)。

使用 PostgreSQL 而不是 Derby 时。这不再起作用了。添加 ";create=true" 会破坏代码。PostgreSQL 是否可以自动创建表?我应该使用除 Hibernate 之外的其他持久性库吗?

4

1 回答 1

9

是的。这个有可能。您需要将属性设置hibernate.hbm2ddl.autocreate

        <property name="hibernate.hbm2ddl.auto" value="create"/>
于 2012-05-02T11:20:23.203 回答