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