0

하나의 ReqCandAssociation에는 여러 개의 주석이있을 수 있으며 다음과 같은 두 클래스가 있습니다. ReqCandAssociation을 삭제할 때 관련된 주석을 모두 삭제하는 방법을 찾아야합니다. 다음에 감사최대 절전 모드 행과 외래 키 행 ManyToOne

@Entity 
@Table(name = "candidate_jobReq") 
public class ReqCandAssociation implements Serializable { 

@Id 
private Integer candidateId; 

@Id 
private Integer jobId; 

@Column(name = "reqStatus") 
private String reqStatus; 

@ManyToOne 
@PrimaryKeyJoinColumn(name="candidateId", referencedColumnName="id") 
private Candidate candidate; 

@ManyToOne 
@PrimaryKeyJoinColumn(name="jobId", referencedColumnName="id") 
private JobReq jobReq; 

public ReqCandAssociation(){ 

} 

2 등석

@Entity 
@Table(name="comment") 

public class Comment { 

@Id 
@GeneratedValue(strategy=GenerationType.IDENTITY) 
private Integer id; 

@Column(name="commentText") 
private String commentText; 

@Column(name="commentDate") 
private Date commentDate; 

@ManyToOne 
@PrimaryKeyJoinColumn(name="reqCandAssociationId", referencedColumnName="id") 
private ReqCandAssociation reqCandAssociation; 

@ManyToOne 
@PrimaryKeyJoinColumn(name="userId", referencedColumnName="id") 
private User user; 

답변

1

변경이, 나는 그것을 양방향 매핑을 만들고있어.

@Entity 
@Table(name = "candidate_jobReq") 
public class ReqCandAssociation implements Serializable { 

@Id 
private Integer candidateId; 

@Id 
private Integer jobId; 

@Column(name = "reqStatus") 
private String reqStatus; 

@OneToMany(cascade = { CascadeType.ALL }) //this is added here. 
@JoinColumn(name ="reqCandAssociationId") 
private Set<Comment> comments; 
----- 

캐스케이드 옵션에 대해 자세히 알아보십시오. 모든 계단식 유형은 all | none | save-update | delete | all-delete-orphan | delete-orphan

이 계단식은이 클래스와 관련된 모든 주석을 삭제합니다.

+0

Ahh sweet 감사합니다. 나는 이런 식으로 일하는 것이 DB 베스트 프랙티스에 어긋나지 만, 동면하는 것 같아요. 다시 한 번 감사드립니다. –

관련 문제