我正在使用Springboot JPA来生成一个MySql8表。除非我尝试在Column注解中使用columndefinition,否则它工作正常。
@Column(columnDefinition = "boolean default false")
private Boolean example;
我尝试用TINYINT替换布尔值,但据我所知,MySql8应该支持布尔值。
在表生成过程中出现错误:
原因:java. sql. SQL语法错误异常:SQL语法中有错误;查看与MySQL服务器版本对应的手册,了解在第5行'boolean default false
附近使用的正确语法
在我看来,生成的SQL语法似乎有额外的引号,但我不确定如何解决这个问题。
create table `exampleTable` (
`id` bigint not null auto_increment,
`example` `boolean default false`,
primary key (`id`)
)
编辑:我发现我的问题在这个问题:Spring JPA globally_quoted_identifiers incorrectly quoting column type TEXT
2条答案
按热度按时间axkjgtzd1#
如果要将示例的默认值设置为false,则可以如下所示编写该示例并从中删除columnDefintion
私有布尔示例=false;
vsmadaxz2#
通过将
spring.jpa.properties.hibernate.globally_quoted_identifiers=false
添加到application.properties
文件禁用引号但禁用后,您将无法使用与mysql关键字匹配的列名和表名(例如
desc
)。