gpt4 book ai didi

hibernate - 如何使用 Hibernate 注释将 Firebird Smallint 映射到 bool 值?

转载 作者:行者123 更新时间:2023-12-02 22:34:04 25 4
gpt4 key购买 nike

我有一个在 Firebird 2.0 中运行的旧数据库,我需要将一个 SmallInt 列映射到一个 bool 类型,当 SmallInt = 0 时,它是 False,当 SmallInt = 1 时,它是 True

我还需要使用 Hibernate Annotations 完成此操作。

我正在使用 Hibernate 3.6。

有什么建议吗?

提前致谢。

最佳答案

再搜索一点之后,我可以在 http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/types.html#types-value-basic 上找到这个 hibernate 类型 org.hibernate.type.NumericBooleanType

我试着用这种方式映射:

@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean field;

但是,这没有用,因为 Hibernate 抛出了这个异常:

org.hibernate.HibernateException: Wrong column type in %TABLE_NAME% for column %COLUMN_NAME%. Found: smallint, expected: integer

所以,我尝试强制定义这个列,映射成这样:

@Column(columnDefinition = "SMALLINT")
@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean field;

现在这就像一个魅力。

关于hibernate - 如何使用 Hibernate 注释将 Firebird Smallint 映射到 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11741895/

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