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 に答える