一对多映射中的Hibernate级联
我有一个小示例应用程序,我想在其中实现hibernate级联效果,其中有一个person模型和一个creditcard模型。一个人可以拥有多张信用卡 以下是人物模型:一对多映射中的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
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)