在我们的应用程序中,某些实体必须由枚举表示,这是很常见的情况:例如类型、类别、状态等。
通常,代码中有条件或流程使用值来决定一个 Action 或另一个 Action ,因此应用程序必须以某种方式“知道”这些值(即它必须能够引用一个特定的实例来决定而不是引用整个类)。这就是我们使用枚举而不是普通类的原因。
问题是这些实体还需要作为其他实体的字段存储(或至少引用)在数据库中。我们通常为每个实体创建一个表,以便能够在这些列中进行引用完整性检查,并且数据仅在数据库中具有“意义”,而无需引用枚举来找出每个 id 的含义.
理想情况下,这些实体的数据应该从枚举中的数据中填充,但现在我们在 db 初始化脚本中重复了这些值。
当使用像 Hibernate 这样的 ORM 时,它会变得有点复杂。
我想知道其他人如何处理这种情况。
我对在枚举和数据库表之间存在重复的想法并不完全满意,但我还没有找到更好的解决方案。
最佳答案
试试这个问题的答案:Ways to save enums in database
关于java - 如何处理java枚举和数据库表之间的重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/691137/