2011-10-30 14 views
0

JUnitテストで参照整合性制約違反が発生しました。プレイフレームワークと私の2つのエンティティを使用する方法は次のとおりです。私のJUnitテストでPlay framework onetoone参照整合性を削除する

@Entity 
public class User extends Model{ 

public String email; 
public String password; 

@OneToOne(mappedBy="user",cascade=CascadeType.ALL) 
public Patent patent; 

} 


@Entity 
public class Patent extends Model{ 


    @OneToOne 
    public User user; 


} 

次の行は

User.findById(user.id)._delete(); 


Referential integrity constraint violation: "FK340C82E547140EFE: PUBLIC.PATENT FOREIGN KEY(USER_ID) REFERENCES PUBLIC.USER(ID)"; SQL statement: 
delete from User where id=? [23003-149] 

を失敗したあなただけの関係の所有者に1つの@OneToOneアノテーションを使用する必要があります

答えて

0

ありがとうございます。あなたのケースでは、ユーザーは特許エンティティから次のものを削除することができるように特許を所有しています。


    @OneToOne 
    public User user; 

もう一度削除してみてください。

関連する問題