您可以在将在运行时执行的JPA持久性上下文定义中定义并链接到SQL脚本。 有标准化的属性来定义脚本,以分别说明如何创建模式,批量加载数据和删除模式:
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistencehttp://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"><persistence-unit name="prod" transaction-type="JTA"><properties><property name="javax.persistence.schema-generation.database.action"value="drop-and-create"/><property name="javax.persistence.schema-generation.create-script-source"value="create-schema.sql" /><property name="javax.persistence.schema-generation.sql-load-script-source"value="load-data.sql" /><property name="javax.persistence.schema-generation.drop-script-source"value="drop-schema.sql" /></properties></persistence-unit>
</persistence>
SQL文件应驻留在类路径中。
这篇帖子从我的新闻通讯004中转贴了
翻译自: https://www.javacodegeeks.com/2017/12/jpa-persistence-xml-sql-script-definitions.html