Создание отношений в базе данных derby.

Я играю с образцом базы данных дерби в Netbeans. Я хочу создать таблицы с отношением один ко многим.

я имею courses а также student, Курс должен иметь всех студентов, которые принимают этот курс в своей таблице, и студент должен иметь курс, который он берет в своей таблице. Пока я создал

CREATE TABLE Course
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
name VARCHAR(50) NOT NULL,
CONSTRAINT primary_key PRIMARY KEY (id)
);

CREATE TABLE Student
(
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
name VARCHAR(50) NOT NULL,
surname VARCHAR(50) NOT NULL,
faculty VARCHAR(50) NOT NULL,
course_id INTEGER NOT NULL,
CONSTRAINT student_pk PRIMARY KEY (id),
CONSTRAINT student_fk  FOREIGN KEY (course_id) REFERENCES course
); 

Однако, когда я сопоставляю это, используя Hibernate у объекта учащегося нет свойства курса как целого объекта, а только его идентификатор как целое число.

Кроме того, как я могу создать отношение один к одному для таблицы курса?

Спасибо за помощь!

1 ответ

Решение

Ваши отношения должны выглядеть следующим образом:

@Entity
class Course{

   @OneToMany(mappedBy = "course")
   private Set<Student> students;

}

@Entity
class Student

   @ManyToOne
   @JoinColumn(name = "course_id")
   private Course course;

}
Другие вопросы по тегам