我想在Play中删除一个对象!但我收到此错误:在Play中删除@OneToMany关系中的JPA对象!框架
PersistenceException occured : org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
我的猜测是,有与@OneToMany
关系,我已经声明中的一个问题。不过,我不确定。这里是我的实体的声明:
@Entity
public class JumpSession extends GenericModel{
public JumpSession()
{
sessionUID = java.util.UUID.randomUUID().toString();
}
//***********JPA relationships
@Id
public String sessionUID;
@OneToMany(mappedBy="jumpSession")
public List<UserJump> userJumps;
@ManyToOne
public User jumpMaster;
//**********end JPA relationships
public String inspectorUID;
public String packDetailUID;
public String aadsn;
public String aadType;
public String dropzone;
public String jumpType;
public String sessionName;
@As("MM/dd/yyyy")
public Date createdOn;
@As("MM/dd/yyyy")
public Date jumpDate;
public String startNotes;
public String endNotes;
public String notes;
public String startTime;
public int status;
}
当我删除JumpSession,我需要UserJump项只是指向空的,而不是一个JumpSession。下面是我使用删除对象的简单代码:
JumpSession jumpSession = JumpSession.findById("blah");
jumpSession.delete();
编辑: UserJump的相关部分:
@Entity
public class UserJump extends Model{
@ManyToOne
public JumpSession jumpSession;
}
有一个UserJump仍使其具有唯一性的许多其他作品即使没有JumpSession。有没有办法让jumpSession
参考为null
?
编辑: 我要打开一个新的问题,因为我的问题已经改变。当前的答案符合原始问题。
什么UserJump样子删除对jumpSession参考? JumpSession或UserJump类有没有其他限制?有更多的ConstraintViolationException stacktrace吗? – digiarnie 2012-02-11 22:04:11