Java 在derby示例数据库中创建关系
我正在Netbeans中使用derby示例数据库。我想创建具有一对多关系的表 我有Java 在derby示例数据库中创建关系,java,sql,hibernate,jpa,derby,Java,Sql,Hibernate,Jpa,Derby,我正在Netbeans中使用derby示例数据库。我想创建具有一对多关系的表 我有课程和学生。课程表中应该有所有参加本课程的学生,学生表中应该有他正在参加的课程。到目前为止,我创造了 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 PRIMA
课程
和学生
。课程表中应该有所有参加本课程的学生,学生表中应该有他正在参加的课程。到目前为止,我创造了
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
映射此对象时,student对象没有作为整个对象的course属性,只有作为整数的id
另外,如何为课程表创建多对一关系
谢谢你的帮助 您的关系映射应该如下所示:
@Entity
class Course{
@OneToMany(mappedBy = "course")
private Set<Student> students;
}
@Entity
class Student
@ManyToOne
@JoinColumn(name = "course_id")
private Course course;
}
@实体
班级课程{
@OneToMany(mappedBy=“课程”)
私立学校学生;
}
@实体
班级学生
@许多酮
@JoinColumn(name=“课程id”)
私人课程;
}
所以我应该执行上述sql,创建反向hibernate文件,生成映射文件并将其添加到POJO类中?当您使用注释时,您不需要hbm映射文件。。您只需指定packagesToScan hibernate属性。除非无法使用批注。。是这样吗?您是否希望在这里从hibernate在启动时创建数据库?使用hbm2.ddl设置?我正在使用netbeans中的derby创建数据库,我正在休眠以映射表并使用它进行操作。好的,太好了。。那么您在检索数据时仍然有问题吗?