Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JPA - как описать сущность иерархической таблицы?


Автор: Wazluk 26.1.2011, 23:36
Помогите пожалуйста разобраться: 
Есть таблица Category с такими полями: id, id_hi, name 
id_hi ссылается на id т.е. если id_hi = null то это главная категори, а если нет тогда подкатегория 
Примерно так
Код

id---id_hi---name 
0---null---Овощи 
1---0---Тыква 
2---0---Огурец 
3---null---Фрукты 
4---3---Яблоко


Как мне описать сущность такой таблицы?

Автор: MisterCleric 27.1.2011, 09:46
Где-то так:
Код

@Entity
public class Category {

   @Id
    private Long id;

    @ManyToOne
    @JoinColumn(name = "ID_HI")
    private Category parent;

    private String name;

}

Автор: Wazluk 27.1.2011, 15:03
Спасибо,разобрался!
Только сделал наоборот (так вроде удобнее)

Код

@Entity
public class Category {

   @Id
    private Long id;

    @OneToMany
    @JoinColumn(name = "ID_HI")
    private Collection<Category> subcategory;

    private String name;

}

Автор: MisterCleric 27.1.2011, 15:14
Можно одновременно в одном Entity определить и ссылку на парента и коллекцию чилдренов
Но это зависит от стоящей перед тобой задачи

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)