【问题标题】:Play framework onetoone delete referential integrity播放框架onetoone删除参照完整性
【发布时间】:2011-10-30 15:57:17
【问题描述】:

我得到一个 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]

谢谢

【问题讨论】:

    标签: playframework cascading-deletes referential-integrity


    【解决方案1】:

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

    
        @OneToOne
        public User user;
    

    再次尝试删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多