使用休眠时的ORA-02292

布雷蒂

我正在尝试实现删除功能,但是我得到的只是这个ORA-02292错误:

Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02292: Integritäts-Constraint (VDMA.FK892DE8B473F40868) verletzt - untergeordneter Datensatz gefunden

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)

我有一个与其子实体具有n:m关系的Entity(MainEntity)。

例如:一个用户可以有多辆车,每辆车可以由不同的用户驾驶。

删除用户后,我也希望删除用户与汽车之间的关联。这就是为什么我认为我可以执行以下操作的原因:

用户实体

@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "user_car", joinColumns = {@JoinColumn(name = DATABASE_COLUMN_ID, nullable = false, updatable = false) }, inverseJoinColumns = {@JoinColumn(name = DATABASE_COLUMN_TYPE_ID,
      nullable = true, updatable = false) })
private Set<UserCar> userCars;

汽车实体

@ManyToMany(fetch = FetchType.LAZY, mappedBy = "userCars")
  private Set<User> users;

结果是:

创建表,保留数据-一切正常。除删除条目外:一旦我尝试删除一个用户并且该用户有汽车(因此有一个用户:汽车关系),我确实会收到上面显示的错误。

如果用户没有汽车,我可以毫无问题地将其删除。因此,问题必须出在USER_CAR表中。

德拉甘·博扎诺维奇(Dragan Bozanovic)

也要清除userCars

user.getUserCars().clear()

这将破坏用户与关联汽车之间的关联(这将从联结表中删除相应的记录)。

另外,您也不需要CascadeType.ALL多对多关联,因为它隐含了CascadeType.REMOVE使用它意味着清除也将级联到汽车上,尽管还有其他与这些汽车相关联的用户。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ORA-02292: 违反完整性约束 (xxx) - 找到子记录

来自分类Dev

SQLException: ORA-02292: 完整性约束 (SCHOOL.STUDENT_STAGE_FK) 违反 - 找到子记录

来自分类Dev

使用休眠时内存使用率高

来自分类Dev

使用Spring数据/休眠进行删除:ORA-01407:无法更新为Null

来自分类Dev

尝试使用休眠保持实体时出错(MappingException:未知实体)

来自分类Dev

将对象保存到数据库时使用休眠

来自分类Dev

使用休眠搜索自定义桥时出错

来自分类Dev

使用休眠连接到数据库时出错

来自分类Dev

将对象保存到数据库时使用休眠

来自分类Dev

使用休眠作为表单验证时的引号符号预期错误

来自分类Dev

使用 Java 休眠时出现意外令牌错误

来自分类Dev

休眠功能返回ORA-14551

来自分类Dev

更新时休眠缓存

来自分类Dev

ORA-22905-使用select语句查询表类型时

来自分类Dev

ORA-01002:使用@transactional时未按顺序提取

来自分类Dev

ORA-00937:使用rownum时不是单组组功能

来自分类Dev

ORA-00936:使用stringbuilder时缺少表达式

来自分类Dev

使用 EZConnect 语法时出现 Python ORA-12504 错误

来自分类Dev

使用休眠envers 4.2与休眠3.5.5

来自分类Dev

Python在休眠时终止线程

来自分类Dev

设备休眠时Alamofire请求

来自分类Dev

在安装Ubuntu 14.04时休眠

来自分类Dev

查询休眠实体时出错

来自分类Dev

saveOrUpdate休眠时发生NullPointerError

来自分类Dev

恢复时wifi仍在休眠

来自分类Dev

Python在休眠时终止线程

来自分类Dev

使用MS SQL休眠

来自分类Dev

使用Jinq进行休眠

来自分类Dev

使用Liquibase休眠