我希望有人可以帮助我解决我的休眠问题,因为我已经在谷歌上敲了大约一个小时而没有结果。
所以问题是我在一个类中有一个 SortedMap,使用 Integer 作为键(及其自然的内置 compareTo 方法)和另一个类作为值类型。我正在使用密钥来保持用户定义的值类型的顺序,并试图让 Hibernate 坚持这一点。
无论出于何种原因,Hibernate 默认忽略我输入的键,而是使用值类型的主键作为键。当我从数据库中加载我的地图时,我的所有密钥都以这种方式进行了更改。
Map 的定义如下所示(我使用的是注解式 Hibernate);
@ManyToMany(cascade = CascadeType.ALL)
@MapKey
@Sort(type = SortType.NATURAL)
private SortedMap<Integer, Column> columnOrder;
我不能使用 Column 类型来存储订单本身,因为 Column 可以在包含类型的许多实例中使用,每次都有不同的键值。任何指导将不胜感激。