【问题标题】:Generate values from db enum for jpa enum at runtime在运行时从 db 枚举为 jpa 枚举生成值
【发布时间】:2013-06-24 02:17:17
【问题描述】:

我在互联网上看到了将 postgresql 枚举映射到 java 枚举的方法。但是当我修改数据库中的枚举时,我所看到的所有方法都表现不佳。我想要做的是在运行时通过查询数据库或类似的东西来创建java枚举值。最好如何进行? 例如在数据库中我有枚举 {'a','b','c','d'} 并且有一天我设法将它在数据库中更改为 {'a','x','d' ,'e'}。有什么好的方法可以确保我不会在 java 中遇到 enum 的一致性问题。(显然手动更新是我的最后选择)。如果重要的话,我使用的是 9.1 之前的 pg 数据库

【问题讨论】:

    标签: java sql postgresql jpa orm


    【解决方案1】:

    如果您要更新枚举定义,那么您不应该使用枚举。使用带有外键引用的查找表。

    枚举确实适用于您不希望枚举发生变化的情况,以及当它们发生变化时您准备做重要工作的情况。在这种情况下,如果您更改枚举的定义,则必须更新所有使用该枚举的代码是完全合理的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-29
      • 2021-01-04
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2012-05-05
      • 2012-08-22
      相关资源
      最近更新 更多