2016-10-31 2 views
0

У меня есть 3 таблицы skill_checklist, skill_group, skill_master и таблицу отображения skill_checklist_group_masterспящего режима отображения сущности 3 к одному присоединиться к таблице

Ассоциация является также

checklist <-- many to many --> Group 
Group <-- many to many --> skills 

Может кто-нибудь сказать мне, как управлять этим 3 объединение таблиц в спящем режиме с аннотациями?

Ниже приведены мои структуры таблиц

CREATE TABLE public.skill_checklist 
(
    id bigint NOT NULL DEFAULT nextval('skill_checklist_id_seq'::regclass), 
    name character varying(256) NOT NULL, 
    description character varying(500) NOT NULL, 
    CONSTRAINT "PK_SKILL_CHECKLIST_ID" PRIMARY KEY (id) 
) 

CREATE TABLE public.skill_group 
(
    id bigint NOT NULL DEFAULT nextval('skill_group_id_seq'::regclass), 
    name character varying(256) NOT NULL, 
    description character varying(500) NOT NULL, 
    CONSTRAINT "PK_SKILL_GROUP_ID" PRIMARY KEY (id) 
) 

CREATE TABLE public.skill_master 
(
    id bigint NOT NULL DEFAULT nextval('skill_master_id_seq'::regclass), 
    name character varying(256) NOT NULL, 
    description character varying(500) NOT NULL, 
    CONSTRAINT "PK_SKILL_MASTER_ID" PRIMARY KEY (id) 
) 

CREATE TABLE public.skill_checklist_group_master 
(
    checklist_id bigint NOT NULL, 
    group_id bigint NOT NULL, 
    skill_id bigint NOT NULL, 
    group_order bigint NOT NULL, 
    skill_order bigint NOT NULL, 
    CONSTRAINT "FK_MAP_CHECKLIST_CHECKLIST_ID" FOREIGN KEY (checklist_id) 
     REFERENCES public.skill_checklist (id) MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION, 
    CONSTRAINT "FK_MAP_GROUP_GROUP_ID" FOREIGN KEY (group_id) 
     REFERENCES public.skill_group (id) MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION, 
    CONSTRAINT "FK_MAP_SKILL_SKILL_ID" FOREIGN KEY (skill_id) 
     REFERENCES public.skill_master (id) MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION 
) 

У меня нет опыта работы с Hibernate так кодирования примеры, безусловно, поможет мне здесь. Использование последней версии спящего режима.

ответ

0

С Hibernate вы можете определить каждый тип данных в сущности. У каждой организации есть свои аннотации для столбца.

Вот пример ..

import javax.persistence.*; 

@Entity 
@Table(name = "EMPLOYEE") 
public class Employee { 
    @Id @GeneratedValue 
    @Column(name = "id") 
    private int id; 

    @Column(name = "first_name") 
    private String firstName; 

    @Column(name = "last_name") 
    private String lastName; 

    @Column(name = "salary") 
    private int salary; 

    public Employee() {} 
    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public String getFirstName() { 
     return firstName; 
    } 
    public void setFirstName(String first_name) { 
     this.firstName = first_name; 
    } 
    public String getLastName() { 
     return lastName; 
    } 
    public void setLastName(String last_name) { 
     this.lastName = last_name; 
    } 
    public int getSalary() { 
     return salary; 
    } 
    public void setSalary(int salary) { 
     this.salary = salary; 
    } 
} 

Как вы можете видеть каждый объект есть свои аннотации и его владелец методы для получения и установки данных в своих колонках ..

Если вы используете затмение или netbeans, у них есть свои собственные плагины для автоматического преобразования данных в сущности автоматически.

+0

Вы не помогли ... - 1 для вашего ответа. У меня проблемы с ассоциациями! – coder310

+0

Хорошо .. но у вас есть ваши сущности, созданные ?? можете ли вы поместить свои сущности в код? –

+0

Если вам нужно связать объект с другим. вам нужна аннотация JoinColumn .. что-то вроде этого –

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