我正在尝试映射一个类似于以下的类:
public class Skills {
private int[] levels; // 10 elements
}
现在,在Hibernate中映射一个数组是一个巨大的痛苦,因为我之前没有运气,我正在尝试一种不同的方法。 10个元素中的每一个实际上代表了一种技能本身。可以将其视为ATK,STR,DEX,INT等。由于一些设计限制,它必须用作数组,否则我只需添加10个字段,当然。
真正的痛苦在于在SQL中进行映射以使其更有意义。当然,Hibernate可以对类进行序列化,但是可以将字节钻入列中。现在我想知道,有没有办法指定像CompoundUserType这样的东西(我可以说“嘿,这就是表格的外观,这是该字段的每个值!”),或表明我在某种程度上想要提供包含
内容的Skills $ Hbm子类class Hbm {
private int atk, str, dex, Int... ;
}
让我得到一张更好的桌子?我对可行的方法很无能为力。
答案 0 :(得分:0)
我可能知道,为什么你要在技能表中创建一系列关卡。相反,您可以通过创建一个新的级别表来对其进行标准化,您可以在其中存储有关不同技能级别的信息,并在技能表中存储级别的引用:即public class skills { private Level level; }
您也可以使用List<Integer> Levels;
代替使用数组。