2013-02-14 4 views
0

Я посмотрел на documentation (спящий режим 4.1). И я немного путаюсь, я хочу использовать аннотацию @OrderColumn(name="orders_index") в своем set Collection (для целей дизайна). Прямо сейчас, я фактически добавляю вручную order_index вручную в свой PersonnalTaskMacro, но он получает боль в * (мне нужно реорганизовать это ...). Я прошел через @MapKeyColumn(name="orders_number"), но это не совсем то, что я хочу. Как я могу это достичь?Hibernate коллекция набор колонка как индекс

@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>(); 

/* .... */ 
} 

ответ

1

Комплект не является упорядоченной коллекцией. В documentation you cited точки в правильном направлении: изменение

Set<PersonnalTaskMacro> personnalTaskMacroSet ... 

в

List<PersonnalTaskMacro> personnalTaskMacros ... 

Вы также можете использовать SortedSets сделать something similar, но это зависит от рода ключ является частью организации, которая у вас есть коллекция из.

+0

Вы правы, действительно, мой друг. Я должен быть слепым :) – fneron

+0

Рад помочь. Если вы все настроены, вы должны принять ответ, используя зеленую проверку. – sharakan

Смежные вопросы