2012-02-10 8 views
0

Playでオブジェクトを削除しようとしています!しかし、私はこのエラーを取得しています:Playで@OneToMany関係のあるJPAオブジェクトを削除してください!フレームワーク

PersistenceException occured : org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update 

私の推測では、私は内側に宣言した@OneToMany関係に問題があるということです。しかし、私は確信していません。ここに私のエンティティの宣言は次のとおりです。私はJumpSessionを削除すると

@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のnullに指すようにUserJumpエントリを必要とします。ここで私は、オブジェクトを削除するために使用している単純なコードは次のとおりです。

JumpSession jumpSession = JumpSession.findById("blah"); 
jumpSession.delete(); 

EDIT:UserJumpの 関連部品:まだそれをユニークにUserJumpの他の多くの部分があります

@Entity 
public class UserJump extends Model{ 

@ManyToOne 
public JumpSession jumpSession; 
} 

JumpSessionがなくても jumpSessionの参照を nullにする方法はありますか?

編集: 私は質問が変更されたので、これについて新しい質問を開きます。現在の回答は元の質問に合致します。

+0

からjumpSessionへの参照を削除する必要がある場合は? JumpSessionクラスまたはUserJumpクラスの他の制約はありますか?そのConstraintViolationException stacktraceには何かがありますか? – digiarnie

答えて

0

あなたのuserJumpsには依然としてjumpSessionへの参照があります。最初にuserJumpsを削除すると問題が解決します。

あなたがUserJumpsを維持したい何らかの理由で、あなたは次のようになりUserJump何userJumps

+0

しかし、UserJumpで 'null'参照を許可する方法はありませんか? – Indigenuity

関連する問題