【问题标题】:How to translate Number(1,0) data type in oracle sql to hibernate?如何将 oracle sql 中的 Number(1,0) 数据类型转换为休眠?
【发布时间】:2017-05-31 16:46:34
【问题描述】:

我有一个表,其中有一列作为数据类型 number(1,0),标题作为答案。此列可以包含 1 或 0 的值。我有一个使用 hibernate (v4.1.11) 表示此表的 java 实体模型。我在将 number(1,0) 从 oracle sql 映射到休眠时遇到困难。我什至需要注释吗?有 int 类型就足够了?

@Entity
@Table(name="FOO")
public class Foo {

    @Column(name="ANSWER")
    @<what annotation?>
    private int answer;

【问题讨论】:

  • 我刚刚遇到一个页面 (vladmihalcea.com/2014/06/10/…),其中将休眠类型映射到 jdbc 和 java 类型。使用 NumericBooleanType 作为注释并将 int 更改为 boolean 是正确的方法吗?
  • 如果您可以更改或设计您的数据模型,我还请您考虑 yes_no 类型,这可能更合适。

标签: java hibernate


【解决方案1】:

@Column 就足够了。通常不需要类型注释,除非您特别想要覆盖。考虑到您的情况,最好将其声明为布尔值并使用@Type NumericBooleanType 甚至YesNoType。如果您想使用自定义类型覆盖,请参阅休眠文档https://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/ 中的@TypeDef 部分。

【讨论】:

    猜你喜欢
    • 2021-04-28
    • 2017-02-08
    • 2012-03-09
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 1970-01-01
    相关资源
    最近更新 更多