我有两个表与一对多关系:
Student
-------
Integer Roll_No (pk)
Integer Class (pk)
.....
Attendance
-------
Long Id (Pk)
Integer Roll_No (fk to Student.Roll_No)
Integer Class (fk to Student.Class)
.....
如何在hibernate中为这两个表进行映射。请帮助。提前谢谢。
答案 0 :(得分:0)
You can create a composite id class that only have the Student:
@Embeddable
public class Attendance implements java.io.Serializable {
@Id
@GeneratedValue
private Integer id;
@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
@JoinColumn(name = "Roll_no", updatable = true)
private Student Roll_no;
@OneToMany(cascade = {}, fetch = FetchType.LAZY)
@JoinColumn(name = "Class", updatable = true)
Private Student Class;
// ...
}
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class Student{
@Id
public Roll_no getRoll_no()
public Class getClass()
// ...
}