DB 구조를 제어 할 수 없습니다. 그러나 그것은 이렇게 디자인되었습니다. 사람은 모든 유형의 사람의 기반과 같습니다. 그런 다음 교사의 수업이 만들어지며, 그 교사의 PK는 사람의 PK도 참조합니다. 문제는 내가 다른 클래스의 교사를 참조 할 때 "열의 수가 잘못되었습니다."라는 오류가 발생합니다.JPA Hibernate - 기본 키로 외래 키
친절히 최선의 appraoch 도움이됩니다.
@Entity
@Table(name = "APP_Person")
Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "PersonID", unique = true, nullable = false)
private Long personID;
@Column(name = "Name", length = 160)
@Size(max = 160)
private String name;
}
@Entity
@Table(name = "APP_Teacher")
public class Teacher implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@ManyToOne(fetch = FetchType.LAZY)
@NotBlank
@JoinColumn(name = "PersonID", nullable = false)
Person person;
@Column(name = "Expertise", length = 160)
@Size(max = 160)
private String expertise;
}
@Entity
@Table(name = "APP_Course")
public class Course implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "CourseID", unique = true, nullable = false)
private Long courseID;
@ManyToOne(fetch = FetchType.LAZY)
@NotBlank
@JoinColumn(name = "PersonID", unique = true, nullable = false)
Teacher teacher;
}
'교사'로 작성하지 않은 '사람'을 확장해서는 안됩니까? – JamesENL
할 수는 있지만 교사에게 레코드를 추가 할 때 교사와 사람 테이블에 모두 레코드를 삽입하고 싶습니다. 그게 가능하니? 그게 내가 상속하지 않은 이유입니다 – JavaDev