如何使用PostgreSQL和JPA从实体类中自动创建表?

twi*_*mac 0 postgresql persistence hibernate java-ee

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

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

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

在persistence.xml中有一行这样的行

<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/MySampleDb;create=true"/>
Run Code Online (Sandbox Code Playgroud)

设置连接并在需要时指示要创建的表(请注意行末尾的"; create = true").

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

mag*_*omi 9

是.这个有可能.您需要设置的hibernate.hbm2ddl.auto属性格式来create

        <property name="hibernate.hbm2ddl.auto" value="create"/>
Run Code Online (Sandbox Code Playgroud)