如何处理java enum和数据库表之间的重复?

Sam*_*Sam 11 java sql database orm enums

在我们的应用程序中,一个实体必须由枚举表示:例如类型,类别,状态等等.

通常,代码中存在使用值来决定一个动作或另一个动作的条件或流程,因此必须以某种方式为应用程序"知道"值(即它必须能够引用特定实例)决定而不是引用整体的类).这就是我们使用枚举而不仅仅是常规类的原因.

问题是这些实体还需要作为其他实体的字段存储(或至少引用)在数据库中.我们通常为每个实体创建一个表,能够在这些列中进行参考完整性检查,并且数据在数据库中只具有"含义",而无需参考枚举来找出每个id的含义.

理想情况下,应该从枚举中的数据填充这些实体的数据,但是现在我们在db初始化脚本中重复了这些值.

当使用像Hibernate这样的ORM时,它会变得有点复杂.

我想知道其他人是如何处理这种情况的.

我对枚举和数据库表之间有重复的想法不太满意,但我还没有找到更好的解决方案.

Mr.*_*ill 2

尝试回答这个问题:Ways to save enums in database