一对多映射中的Hibernate级联

一对多映射中的Hibernate级联,hibernate,jakarta-ee,Hibernate,Jakarta Ee,我有一个小示例应用程序,我想在其中实现hibernate级联效果,其中有一个person模型和一个creditcard模型。一个人可以拥有多张信用卡 以下是人物模型: import java.io.Serializable; import java.util.HashSet; import java.util.List; import java.util.Set; import javax.persistence.Column; import javax.persistence.Embedde

我有一个小示例应用程序,我想在其中实现hibernate级联效果,其中有一个person模型和一个creditcard模型。一个人可以拥有多张信用卡

以下是人物模型:

import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Represents a person entity
 *
 * @author 
 * 
 */
@Entity
@Table(name = "PERSON")
public class Person implements Serializable {

 private static final long serialVersionUID = -5527566248002296042L;


 public Person() {

 }
 public Person(String furstBame) {
     this.firstName  = furstBame;
 }

 @Id
 @Column(name = "ID")
 @GeneratedValue(strategy=GenerationType.AUTO)
 private Integer id;

 @Column(name = "FIRST_NAME")
 private String firstName;

 @Column(name = "LAST_NAME")
 private String lastName;

 @Column(name = "MONEY")
 private Double money;

@OneToMany (mappedBy="person")
private List<CreditCard> creditCards;

 public Integer getId() {
  return id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public String getFirstName() {
  return firstName;
 }

 public void setFirstName(String firstName) {
  this.firstName = firstName;
 }

 public String getLastName() {
  return lastName;
 }

 public void setLastName(String lastName) {
  this.lastName = lastName;
 }

 public Double getMoney() {
  return money;
 }

 public void setMoney(Double money) {
  this.money = money;
 }
public List<CreditCard> getCreditCards() {
    return creditCards;
}
public void setCreditCards(List<CreditCard> creditCards) {
    this.creditCards = creditCards;
}
}
请编辑代码,任何人请解释在这些情况下添加级联的实际语法。我使用的是注释,而不是XML。您需要使用:

@OneToMany (mappedBy="person" cascade=CascadeType.ALL)
如果要在删除某个人时删除该个人的信用卡,则还需要指定:

@OneToMany (mappedBy="person" cascade=CascadeType.ALL, orphanRemoval=true)

这在我的情况下不起作用。。。我的意思是,当我删除此人时,信用卡不会被删除…是的,我可以为一个人添加多张信用卡。。。但是当我删除一个人的时候我想删除信用卡。。。我是否需要更改服务或dao级别的任何内容。。。。
@OneToMany (mappedBy="person" cascade=CascadeType.ALL, orphanRemoval=true)