JPA生成的SQL脚本的行尾缺少分号

Dom*_*nic 4 java mysql sql jpa

我正在使用JPA生成用于基于我的实体创建数据库表的脚本:

javax.persistence.schema-generation.scripts.action=create
javax.persistence.schema-generation.scripts.create-target=db_setup.sql
Run Code Online (Sandbox Code Playgroud)

该文件是用正确的表生成的,但是语句不以分号结尾,例如:

create table hibernate_sequence (next_val bigint)
insert into hibernate_sequence values ( 1 )
insert into hibernate_sequence values ( 1 )
Run Code Online (Sandbox Code Playgroud)

我认为这在标准SQL中有效吗?但是,它在MySQL中无效。有没有办法告诉JPA将分号添加到行尾?还是缺少它的原因是什么?

Dom*_*nic 9

从Hibernate 5.1.0开始,可以通过设置hibernate.hbm2ddl.delimiter属性来定义生成的SQL的行定界符,例如

hibernate.hbm2ddl.delimiter=";"
Run Code Online (Sandbox Code Playgroud)

默认为无定界符。

另请参见此票证上的评论。