0

我查看了文档(hibernate 4.1) 。而且我有点困惑,我希望能够@OrderColumn(name="orders_index")在我的set Collection(出于设计目的)中使用注释。现在,我实际上是在我的手动添加一个orders_index,但它在*PersonnalTaskMacro中变得很痛苦(我需要重构它......)。我遇到了,但这并不是我真正想要的。我怎样才能做到这一点?@MapKeyColumn(name="orders_number")

@Entity
@Table(name = "PERS_TASK_MACRO_PARAMETER")
public class PersonnalTaskMacroParameter extends Parameter {

    /* .... */

    @OneToMany(cascade = { CascadeType.ALL } , fetch = FetchType.LAZY)
    @JoinTable(name = "PERS_TASK_MACRO_JOIN", 
    joinColumns = { @JoinColumn(name = "MODULE_PARAMETER_ID") }, 
    inverseJoinColumns = { @JoinColumn(name = "PERS_TASK_MACRO_ID") })
    @ForeignKey(name="FK_PERS_TASK_MACRO_PARAM_ID", inverseName="FK_PERS_TASK_MACRO_ID")
    private Set<PersonnalTaskMacro> personnalTaskMacroSet = new HashSet<PersonnalTaskMacro>();

/* .... */
}
4

1 回答 1

1

Set 不是有序集合。您引用的文档指出了正确的方向:更改

Set<PersonnalTaskMacro> personnalTaskMacroSet ...

List<PersonnalTaskMacro> personnalTaskMacros ...

您也可以使用 SortedSets 来做类似的事情,但这取决于排序键是您所拥有的实体的一部分。

于 2013-02-14T16:59:43.780 回答