2
是否可以使用休眠映射数据结构Map<String, int[]>
?该数组通常会有相同的数字条目。如何映射Map <String,int []>?
对不起,可能愚蠢的问题,但我目前不知道如何做到这一点。
是否可以使用休眠映射数据结构Map<String, int[]>
?该数组通常会有相同的数字条目。如何映射Map <String,int []>?
对不起,可能愚蠢的问题,但我目前不知道如何做到这一点。
前段时间我试过做类似的事情,甚至在一些严重的文献研究之后,我无法以通用的方式找到在hibernate中映射数组的方法。
当时我的解决方案是一个包装类(有超过4个)的字段和访问器方法,它们允许对这些字段进行类似数组的访问。
int a;
int b;
int c;
int d;
public int get(int ref) {
switch(ref) {
case 0:
return a;
case 1:
return b;
case 2:
return c;
case 3:
return d;
default:
throw new ArrayIndexOutOfBoundsException();
}
}
如果您有四个以上的变量需要处理,您可以使用反射而不是switch语句。
int [4] s中数字的含义是什么?这看起来像你实际上想要一个有4个字段的新类。 –
该数组将存储映射到开发过程步骤的度量值的目标值。例如,在0级中,值应该是2,在1级时应该是5会导致[0] = 2和[1] = 5。该字符串存储测量的名称。 我必须纠正自己。这些步骤的数量是恒定的,但可以配置==>所以我们需要一个数组或一个列表。在我们的测试配置中,我们使用了4. 我唯一的想法是用字符串和数组作为成员来实现一个类,并分别映射这个类。但是有没有更优雅的方式? – BitSchupser
像“Measurement {String name; int [] data; }'会更多“关系”,然后'Map'在这里,但它会使名称的访问复杂化 - 通常的访问模式是什么?如果在可预见的未来出现超过“预期价值”的情况,可能是“Measurement {String name; SortedSet data; } class DataPoint {int value; ...}可能是另一个(非常详细)的选项。 –