Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设计这个类时要牢记ORM_Java_Oop_Orm - Fatal编程技术网

Java 设计这个类时要牢记ORM

Java 设计这个类时要牢记ORM,java,oop,orm,Java,Oop,Orm,我有一个由6个属性组成的对象,其中5个唯一地定义(而不是派生)第6个属性: public Class MyClass { private FirstAttribute first; private SecondAttribute second; private ThirdAttribute third; private FourthAttributeEnum fourth; private FifthAttribut

我有一个由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个属性的所有唯一组合,第六个属性的值都会发生变化(对于不同的组合,它可能是相同的,但没有关系,因此第六个属性不能作为主键)

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

我正在寻找这个案例的更好的实现。重组这个类的最佳方式是什么

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


这可能是极少数情况下首选代理主键而非自然主键的情况之一。“兆字节长”主键不是一个好主意,因为它们通常在应用程序中使用(其他表、实体内存表示等)。由于索引将增长,您还将减慢查找操作。表读取速度可能会减慢,因为行太大。

前5个属性的组合如何成为主键?你不能有像{1,2,3,4,5-1}和{1,2,3,4,5-2}这样的东西吗?@Pras不,这在我的情况下是不会发生的。每个对象的前五个属性都有不同的组合。好的,首先我喜欢“技术PK”的概念。。我不会混合使用业务属性来生成主键,但肯定会生成一个新的列(字符串或Long,或者记住ORM映射库(如Hibernate)会自动为您生成PK)。。。然后,只需在前5个属性上添加唯一约束