sebastiandaschner blog
JPA persistence.xml SQL script definitions
monday, december 04, 2017You can define and link to SQL scripts in a JPA persistence context definition that will be executed at runtime. There are standardized properties to define scripts how to create the schema, bulk-load data and drop the schema, respectively:
<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/persistence
http://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.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>
The SQL files are expected to reside in the classpath.
This post was reposted from my newsletter issue 004
Found the post useful? Subscribe to my newsletter for more free content, tips and tricks on IT & Java: