在JPA生成的sql脚本

时间:2018-01-24 13:38:22

标签: java mysql sql jpa

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

javax.persistence.schema-generation.scripts.action=create
javax.persistence.schema-generation.scripts.create-target=db_setup.sql

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

create table hibernate_sequence (next_val bigint)
insert into hibernate_sequence values ( 1 )
insert into hibernate_sequence values ( 1 )

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

1 个答案:

答案 0 :(得分:4)

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

hibernate.hbm2ddl.delimiter=";"

默认为无分隔符。

另见this ticket的评论。