Hibernate将一个类映射为另一个类

时间:2015-02-04 10:02:08

标签: java xml hibernate orm

我正在尝试映射一个类似于以下的类:

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... ;
}

让我得到一张更好的桌子?我对可行的方法很无能为力。

1 个答案:

答案 0 :(得分:0)

我可能知道,为什么你要在技能表中创建一系列关卡。相反,您可以通过创建一个新的级别表来对其进行标准化,您可以在其中存储有关不同技能级别的信息,并在技能表中存储级别的引用:即public class skills { private Level level; }

您也可以使用List<Integer> Levels;代替使用数组。