0

I have the following two classes, one ReqCandAssociation can have many Comments and it is mapped like so. I need to figure out a way that when I delete a ReqCandAssociation it deletes all of its associated comments. Thanks

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

}

Second class

@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;
Adam James
  • 3,833
  • 6
  • 28
  • 47

1 Answers1

1

Change this to the following, i'm making it bidirectional mapping.

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

Readup more on the cascade options. All cascade types are all|none|save-update|delete|all-delete-orphan|delete-orphan

The cascade all will delete all the comments associated to this class.

Zeus
  • 6,386
  • 6
  • 54
  • 89
  • Ahh sweet thanks, I thought that doing something like this would go against DB best practices, but I guess its a hibernate thing. Thanks again. – Adam James Oct 04 '13 at 12:49