我查看了documentation(hibernate 4.1)。我有点困惑,我希望能够在@OrderColumn(name="orders_index")
中使用注释set Collection
(出于设计目的)。现在,我实际上在我的PersonnalTaskMacro
中手动添加了一个orders_index,但它在 * 中感到很痛苦(我需要重构那个......)。我来到了@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>();
/* .... */
}
答案 0 :(得分:1)
Set不是有序集合。正确方向的documentation you cited点:更改
Set<PersonnalTaskMacro> personnalTaskMacroSet ...
到
List<PersonnalTaskMacro> personnalTaskMacros ...
您也可以使用SortedSets来执行something similar,但这取决于排序键是您拥有该集合的实体的一部分。