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将分号添加到行尾?还是缺少它的原因是什么?
从Hibernate 5.1.0开始,可以通过设置hibernate.hbm2ddl.delimiter属性来定义生成的SQL的行定界符,例如
hibernate.hbm2ddl.delimiter=";"
Run Code Online (Sandbox Code Playgroud)
默认为无定界符。
另请参见此票证上的评论。