0

我得到一个 JUnit 测试的参照完整性约束违规。使用playframework和我的两个实体如下。

@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]

谢谢

4

1 回答 1

0

您应该只对关系的所有者使用一个 @OneToOne 注释。在您的情况下,用户拥有专利,因此您可以从您的专利实体中删除以下内容:


    @OneToOne
    public User user;

再次尝试删除。

于 2011-10-31T06:20:11.560 回答