Создание отношений в базе данных 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;
}