【问题标题】:change default hibernate mapping strategy for enums更改枚举的默认休眠映射策略
【发布时间】:2011-06-11 17:26:23
【问题描述】:

使用 Hibernate 时,枚举的默认映射策略是 ORDINAL。因为我认为 STRING 策略更健壮,所以我想更改默认映射策略以支持它。

目前我必须在任何枚举上使用以下内容:

@Enumerated(EnumType.STRING)
@Column(nullable=false)
private MyEnum myEnum;

有没有办法告诉 hibernate 总是使用 STRING 策略?我的研究没有提出一些可以改变这种行为的属性。

还是因为 JPA 将 ORDINAL 指定为默认值而不可能,我们应该显式注释它以保持 O/R-Mapper 中立?

【问题讨论】:

    标签: hibernate enums mapping default


    【解决方案1】:

    我同意你的观点,EnumType.STRING 更健壮,尤其是在重构源代码时,因为枚举中常量的更改顺序通常是由于疏忽(或者仅仅是因为有人按字母顺序排序)。

    但您也说得对,因为 ORDINAL 映射已被设计为默认值(可能是因为数字列比 varchar 类型的列更有效)。

    【讨论】:

    • 九年后仍然无法通过一些 Hibernate 配置属性将默认值更改为 STRING
    猜你喜欢
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 2015-03-04
    相关资源
    最近更新 更多