在德比样本数据库中创建关系
问题描述:
我在玩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
我这个映射,学生对象不具有当然属性作为整个对象,而只是其作为一个整数id。
另外,我怎么能创建课程表多对一的关系?
感谢您的帮助!
答
你们的关系的映射应该是这样的:
@Entity
class Course{
@OneToMany(mappedBy = "course")
private Set<Student> students;
}
@Entity
class Student
@ManyToOne
@JoinColumn(name = "course_id")
private Course course;
}
所以我应该只执行SQL说,创建反向休眠文件,生成映射文件,这增加了POJO类? – Darlyn
当你使用注释你不需要HBM映射文件..你只需要指定packagesToScan休眠属性。 –
,除非你不能使用注释..是这种情况?你也希望从休眠到这里在启动时创建数据库?使用hbm2.ddl设置? –