Я сделал что-то похожее на это с hbm-файлами, но до сих пор я не нашел эквивалент, используя аннотации. То, что я хотел бы сделать, это создать ассоциацию в таблице соединений, где таблица соединений содержит столбец порядка для ассоциации (извините за любую неправильную терминологию здесь). В самом простом таблицы может выглядеть следующим образом:Манипулирование упорядочения строки таблицы ссылок с использованием аннотаций Hibernate
Table: Menus
-----
menu_id
Table: Items
-----
item_id
Table: Menus_Items
----
menu_id
item_id
order_by
Если я не требовал, чтобы пункты меню можно заказать (эту колонку order_by) я мог бы сделать это без проблем; однако я хотел бы иметь возможность программно упорядочить элементы в таблице Menus_Items либо в модульных тестах, либо в инструменте администратора. Поэтому для этого, я думаю, мне также понадобится класс MenuItems, правильно?
Вопрос в том, какие аннотации необходимы для соответствующих классов, чтобы это произошло? классы могут выглядеть примерно так (это, насколько у меня есть):
public class Menu {
private List<MenuItem> items;
// ...
@OneToMany
@JoinTable(name = "Menus_Items",
joinColumns = @JoinColumn(name = "menu_id"),
inverseJoinColumns = @JoinColumn(name = "item_id"))
@Cascade(value = { CascadeType.ALL, CascadeType.DELETE_ORPHAN })
@IndexColumn(name = "order_by")
public List<MenuItem> getItems() { // ...
}
} // end class Menu
ли @IndexColumn исправить? Программно, как указать порядок коллекции MenuItems? Что я могу сделать неправильно? Я чувствую, что мне не хватает чего-то очевидного.
Любая помощь очень ценится.
Это сделало. Благодарю. Тем не менее, я застрял на J2EE 5, а @OrderColumn доступен только в J2EE 6. Я нахожусь на Mac, и мне кажется, мне нужно обновиться до Snow Tiger. – richever