2
我是JPA世界的新手,我有以下问题。JPA @sequenceGenerate @OneToMany
我有一个类有一个生成的classId。这个类有一个学生列表,其中一列(在Student中)是classId。
我实现了这个功能,但Student Table的classId在数据库中显示为空(剩下的就可以了)。
任何人都可以帮忙吗?
在此先感谢。
这是代码。
@Entity
@Table(name = "class")
public class Class implements Serializable {
private Long classId;
private List<Student> student;
@Id
@SequenceGenerator(name = "class_id_gen", sequenceName = "seq_class_id", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "class_id_gen")
@Column(name = "class_id", unique = true, nullable = false)
public Long getClassId() {
return classId;
}
@OneToMany(mappedBy = "class", cascade = CascadeType.ALL)
public List<Student> getStudent() {
return this.Student;
}
}
@Entity
@Table(name = "student")
public class Student implements Serializable {
/**
* The Class.
*/
private Class class;
@ManyToOne()
@JoinColumn(name = "class_id")
public Class getClass() {
return this.class;
}
}
Main:
Class class = null;
UserTransaction.begin();
class = new Class();
class.setStudents(ListOfStudents);
EntityManager.persist(class);
UserTransaction.commit();
非常感谢。它的工作原理:D – JMarques