我想编写创建或更改表的查询,并在不修改任何关系数据库(支持JDBC)的情况下运行它。例如“创建表员工( name varchar(250), personalNo varchar(245) )” JPA可以运行它的底层数据库吗?还有其他方法吗?
答案 0 :(得分:1)
您可以根据实体类中的注释,将persistence.xml文件配置为在部署期间“创建”数据库表。此选项生成DDL(数据定义语言)文件,由JPA框架处理以生成表。
在JPA中,使用以下属性来触发表生成:
<properties>
<property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
如果您需要在每次部署期间删除并重新创建表,您可以使用:
<properties>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
</properties>