2012-02-13 17 views
0

私はこの質問をするのに必要な条件に少し慣れていませんが、私はそれを正しく得ることができるかどうかを見ていきます。しかし、JPAでnull参照を許可する@ManyToOneの関係(Play!Framework)

@Entity 
public class JumpSession extends GenericModel{ 

    @OneToMany(mappedBy="jumpSession") 
    public List<UserJump> userJumps; 
} 

:私はUserJumpに戻って参照するJumpSessionクラスを持っている

@Entity 
public class UserJump extends Model{ 

    @ManyToOne 
    public User user; 
    @ManyToOne 
    public JumpSession jumpSession; 
    @ManyToOne 
    public Parachute parachute; 
} 

は私がUserJumpと呼ばれるいくつかの他の事業体との接合を表しJPAエンティティを、持っていますJumpSessionのオブジェクトを削除する必要があります。UserJumpのオブジェクトを保持しています(今度は、にdelete()を呼び出すとConstraintViolationExceptionとなります)。UserJumpオブジェクトは、依然として他の固有情報をリンクします。理想的にはUserJumpの変数jumpSessionnullに変更されます。

どうすればいいですか?

答えて

0

あなただけJumpSessionを削除する前にUserJumpを変更する必要があります

for (UserJump uj : jumpSession.getUserJumps()) { 
    uj.setJumpSession(null); 
    // now the UserJump doesn't reference the soon-to-be-deleted JumpSession anymore 
} 
session.delete(jumpSession); 

(注:上記の従来のJava Hibernateのコードである私がやってのプレイの方法でそれを翻訳する方法がわからない)

関連する問題