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

在我们的应用程序中,一些实体必须由枚举来表示是一个很常见的情况:例如类型,类别,状态和类似的东西.

通常,代码中有条件或流程使用值来决定一个动作或另一个动作,因此值必须以某种方式为应用程序“已知”(即它必须能够引用特定实例决定而不是整体地引用类).这就是为什么我们使用枚举而不是普通的类.

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

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

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

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

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

解决方法

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

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...