2011-10-30 37 views
0

我得到了JUnit測試的參照完整性約束衝突。使用playframework和我的兩個實體如下。玩框架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; 


} 

在我的JUnit測試以下行失敗

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] 

謝謝

回答

0

您應該只在關係的擁有者使用一個@OneToOne註解。在你的情況下,用戶擁有的專利,因此您可以刪除您專利實體如下:


    @OneToOne 
    public User user; 

嘗試對再次刪除。