1
我正在使用JPA,我想堅持一個由對象(域)組成的對象(Action)。級聯堅持和現有對象
還有就是Action類代碼:
@Entity(name="action")
@Table(name="action")
public class Action {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="num")
private int num;
@OneToOne(cascade= { CascadeType.PERSIST, CascadeType.MERGE,
CascadeType.REFRESH })
@JoinColumn(name="domain_num")
private Domain domain;
@Column(name="name")
private String name;
@Column(name="description")
private String description;
public Action() {
}
public Action(Domain domain, String name, String description) {
super();
this.domain=domain;
this.name=name;
this.description=description;
}
public int getNum() {
return num;
}
public Domain getDomain() {
return domain;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
}
當我堅持用新域名的行動,它的工作原理。行動和域名堅持不懈。但是,如果我試圖堅持使用現有域名的行動,我得到這個錯誤:
javax.persistence.EntityExistsException:
Exception Description: Cannot persist detached object [[email protected]]. Class> isd.pacepersistence.common.Domain Primary Key> [8]
我如何能堅持我的行動,並自動持續域,如果它不存在?如果存在,我如何堅持行動並將其與現有的域鏈接。
您給我的第一個解決方案在我的情況下不起作用。第二個完美的作品!謝謝你的答案! FF – 2010-04-21 13:41:45