gpt4 book ai didi

mysql - Hibernate + MySQL 中的 bool 映射问题

转载 作者:行者123 更新时间:2023-11-29 01:21:41 25 4
gpt4 key购买 nike

我知道有很多关于这个问题的话题,但我仍然无法解决我的问题。

这是实体类:

@Entity
@Table(name = "messages")
public class Message
{
....
@Column(name = "read", nullable = false, columnDefinition = "TINYINT(1)")
private boolean read;
....
public boolean isRead()
{
return read;
}

public void setRead(boolean read)
{
this.read = read;
}

messages MySQL 表中,read 列的类型为 tinyint(1)。在将对象保存到表之前,我设置了 setRead(true)。当我通过 Hibernate (save()) 保存对象时,出现以下错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in 
your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near
'read, senderId, title) values ('ujhjg', 1, 1, 'W pustyni i w puszczy')'

我使用 jdbc.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 并尝试了几种方法来通过更改 bool 字段的注释来解决我的问题,但没有一个有效。

我的映射有什么问题以及如何让它工作?

感谢您的帮助和您的宝贵时间;)

最佳答案

单词read 是MySQL 的保留关键字之一。查看 MySQL 5.0 Manual - 9.3. Reserved Words 上的表格.使用不同的名称可以避免这种情况。

关于mysql - Hibernate + MySQL 中的 bool 映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20824085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com