Luc*_*aka 10 java sql jpa persistence.xml eclipselink
我使用eclipseLink和jpa.在我的persistence.xml中,我定义为生成一个create.sql文件.将生成该文件,但缺少';' - 每个sql语句的分隔符.
是否有可能在persistence.xml中或以其他方式定义分隔符?
示例persistence.xml:
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<class>de.company.project.models.User</class>
<properties>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<property name="eclipselink.application-location" value="/sql" />
<property name="eclipselink.create-ddl-jdbc-file-name" value="create.sql"/>
<property name="eclipselink.drop-ddl-jdbc-file-name" value="drop.sql"/>
<property name="eclipselink.ddl-generation.output-mode" value="sql-script"/>
</properties>
Run Code Online (Sandbox Code Playgroud)
示例生成的sql文件:
CREATE TABLE app_user (
ID INTEGER NOT NULL,
last_name VARCHAR(50) NOT NULL,
username VARCHAR(15) NOT NULL,
user_password VARCHAR(50) NOT NULL,
first_name VARCHAR(50) NOT NULL,
PRIMARY KEY (ID))
CREATE TABLE SEQUENCE (
SEQ_NAME VARCHAR(50) NOT NULL,
SEQ_COUNT DECIMAL(38),
PRIMARY KEY (SEQ_NAME))
INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT)
values ('SEQ_GEN_TABLE', 0)
Run Code Online (Sandbox Code Playgroud)
我遇到了这个问题,并通过在persistence.xml中设置属性来解决它.
从Eclipselink 2.6开始,有一个属性"eclipselink.ddlgen-terminate-statements",当设置为true时,分隔符将附加到每个语句.
我想我当时正在使用H2数据库.
有关更多详细信息,请参阅http://www.eclipse.org/eclipselink/api/2.6/org/eclipse/persistence/config/PersistenceUnitProperties.html