gpt4 book ai didi

java - 将 tinyint 映射为 boolean hibernate

转载 作者:IT老高 更新时间:2023-10-28 21:08:16 25 4
gpt4 key购买 nike

我在 MySQL 表 (TINYINT(1)) 中有一个 BOOLEAN 类型,我正在尝试将 boolean 字段映射到实体中,但这会产生异常:

org.hibernate.HibernateException: Wrong column type in maegul.users for column admin. Found: bit, expected: boolean

我将实体中的字段更改为字节并进行相应的更改,使其成为 boolean 值,我得到:

org.hibernate.HibernateException: Wrong column type in maegul.users for column admin. Found: bit, expected: tinyint

我尝试在字段上使用 @Type 注释:

@Type(type = "org.hibernate.type.NumericBooleanType")

但我明白了:

org.hibernate.HibernateException: Wrong column type in maegul.users for column admin. Found: bit, expected: integer

最佳答案

从我在这里读到的:

org.hibernate.HibernateException: Wrong column type in maegul.users for column admin. Found: bit, expected: integer

Hibernate 似乎期待一个整数并且得到了一点。

这意味着您的注释现在是正确的:

@Type(type = "org.hibernate.type.NumericBooleanType")

但也许它已将您的数据库更新为设置为位而不是整数,因此出现错误。

如果你真的需要一个 TinyInt,你可以使用 @Type AND @Column,设置为 Integer,类型为 TinyInt:

@Column(columnDefinition = "TINYINT")
@Type(type = "org.hibernate.type.NumericBooleanType")
public boolean admin = true;

关于java - 将 tinyint 映射为 boolean hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038939/

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