0
我有一個小的示例應用程序,我想在其中實現hibernate級聯效應,其中我有一個人模型和一個信用卡模型。一個人可以有多張信用卡。Hibernate層疊在一對多的映射
這裏是人模式:
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;
}
}
而這裏的信用卡型號:
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
/**
* Represents a credit card entity
*
*
*/
@Entity
@Table(name = "CREDIT_CARD")
public class CreditCard implements Serializable {
private static final long serialVersionUID = 5924361831551833717L;
public CreditCard() {
System.out.println("CreditCard");
}
@Id
@Column(name = "ID")
@GeneratedValue
private Integer id;
@Column(name = "TYPE")
private String type;
@Column(name = "NUMBER")
private String number;
@ManyToOne
@JoinColumn (name="person_ID")
private Person person;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
請編輯代碼和任何人請解釋的實際語法在這些情況下添加級聯。我使用註釋而不是XML的東西。
這不是在工作的我案件...我的意思是當我刪除人然後信用卡沒有被刪除... –
保存工作? –
是的,我可以爲一個人添加多個信用卡...但我想刪除信用卡,當我刪除一個人...我需要改變任何服務或道的水平.... –