2011-10-30 31 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; 

尝试对再次删除。