设计这个课程时要记住ORM

时间:2015-10-06 09:08:07

标签: java oop orm

我有一个由6个属性组成的对象,其中5个属性唯一定义(不是派生)第6个属性:

public Class MyClass {

       private FirstAttribute first;

       private SecondAttribute second;

       private ThirdAttribute third;

       private FourthAttributeEnum fourth;

       private FifthAttributeEnum fifth;

       private SixthAttribute uniquelyDefined;  

}

我需要在关系数据库中存储此类的对象。对于前5个属性的所有唯一组合,第六个值的变化(对于不同的组合,它可能是相同的,但是没有关系,所以第六个不能是主键)。

作为主键,我定义了另一个String,它结合了前5个属性的String表示。

我正在寻找这种情况的更好实现。重组这门课的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

  

作为主键,我定义了另一个组合String的String   前5个属性的表示。

这可能是代理主键比自然主键更受欢迎的罕见情况之一。 “兆字节长”主键并不是一个好主意,因为它们通常用于整个应用程序(其他表,实体内存表示等)。由于索引将增长,您还将减慢查找操作的速度。表读数也可能因为行太大而放慢速度。