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(){ 

} 

二等

@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; 
----- 

更多关于级联选项的更多信息。所有级联类型都是| none | save-update | delete | all-delete-orphan | delete-orphan

级联将全部删除与此类关联的所有注释。

+0

Ahh甜蜜的感谢,我认为做这样的事情会违背数据库最佳实践,但我认为它是一个休眠的事情。 再次感谢。 –