多对一关系删除子对象时会抛出异常

2023-11-29

我正在使用 JPA 进行多对一关系。从子表中删除子对象时会抛出异常。

下面是我的代码:

项目.java

  @Id
  @GeneratedValue(strategy=GenerationType.IDENTITY)
  @Column(name="id")
  private int id;
  @Column(name="projectName")
  private String projectName;
  @Column(name="projectDesc")
  private String projectDesc; 

  @ManyToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
  @JoinColumn(name="companyId")

公司.java

  @Id
  @GeneratedValue(strategy=GenerationType.IDENTITY)
  @Column(name="id")
  private int id;
  @Column(name="compName")
  private String compName;
  @Column(name="address")
  private String address;

下面是插入代码:

InserAction.java

public static void main(String[] args) {
    Company comp2 = new Company();
    comp2.setCompName("IBM");
    comp2.setAddress("Bangalore");

    Project pro2 = new Project();
    pro2.setProjectName("Management System");
    pro2.setProjectDesc("System");
    pro2.setCompany(comp2);
    EntityManager entityManager = EntityManagerUtil.getEmf().createEntityManager(); 
    try{
      EntityTransaction entr = entityManager.getTransaction();
      entr.begin();
      entityManager.persist(pro2);
      entr.commit();
    }
 }

删除操作.java

EntityManager entityManager = EntityManagerUtil.getEmf()
            .createEntityManager();
    try {
        EntityTransaction entr = entityManager.getTransaction();
        entr.begin();       
        Project project = entityManager.find(Project.class,5);
        entityManager.remove(project);      

        entr.commit();
      }

例外的是

Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`prabha`.`project`, CONSTRAINT `FK_project_companyId` FOREIGN KEY (`companyId`) REFERENCES `company` (`id`))
Error Code: 1451
  Call: DELETE FROM company WHERE (id = ?)
  bind => [1 parameter bound]
  Query: DeleteObjectQuery(com.demo.manytoone.Company@301db5ec)

从项目表中删除项目对象时,它会抛出上述异常,我该如何克服这个问题。


 @ManyToOne(cascade={CascadeType.MERGE, CascadeType.PERSIST}, fetch=FetchType.EAGER)

上面的代码将解决您的问题。如果您观察注释 ManyToOne 的源代码,它有一个级联类型数组,因此您可以映射多个级联类型

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多对一关系删除子对象时会抛出异常 的相关文章

  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • 使用 Java 的 Apache Http 摘要身份验证

    我目前正在开发一个 Java 项目 但无法使 http 摘要身份验证正常工作 我尝试使用 Apache 网站 但没有帮助 我有一个需要 HTTP 摘要身份验证的网站 DefaultHttpClient httpclient new Defa
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • 如何在单个查询中搜索 RealmObject 的 RealmList 字段

    假设我有一堂课 public class Company extends RealmObject private String companyId private RealmList
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 提高 PostgreSQL 1 亿数据左连接查询性能

    我在用Postgresql 9 2 version Windows 7 64 bit RAM 6GB 这是一个Java企业项目 我必须在我的页面中显示订单相关信息 有三个表通过左连接连接在一起 Tables TV HD 389772 行 T
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro

随机推荐

  • 适合编写编译器的好语言

    我正在考虑用 haskell 编写一个编译器 为了获得一些知识和经验 我将尝试为现有语言实现编译器 有人可以给我一份适合于此的语言列表吗 提前致谢 Pascal 可能是一个好的开始 您可以一次性编译它 Lisp 的一个子集可能有助于理解 l
  • 使用纹理区域和引擎渲染精灵

    请注意 这是我第一次尝试 Andengine 我一直在尝试使用 libGdx 作为 Android 游戏开发的潜力 但它不适合我的需求 因为我只想为 Android 进行开发 而使用 3D 引擎来完成 2D 工作似乎有点矫枉过正 我现在想尝
  • 解释 SciPy 层次聚类树状图的输出? (也许发现了一个错误......)

    我想弄清楚如何输出scipy cluster hierarchy dendrogram有效 我以为我知道它是如何工作的 并且我能够使用输出来重建树状图 但似乎我不再理解它了 或者有一个错误Python 3该模块的版本 这个答案 如何获取 s
  • AES128 CTR 加密与 iv

    我想用 iv 和 key 实现 AES128 CTR 我正在寻找如何以最好的方式做到这一点而不是重新发明轮子的建议 我为此找到了很好的库RNC加密器 但看起来那里不支持这个 aes 我也测试this方法 但看起来这不是点击率 EDIT 我使
  • 如何使用 Discord 机器人嵌入消息?

    我想编写一个机器人 将用户发送的消息嵌入到特定频道中 如果您对 GTA RP 服务器有所了解 它就像 Twitter 或 Instagram 机器人 这是一个例子 我认为这与console log和作者的名字 但我不确定 所以这就是我来这里
  • PERL Email::Send::Gmail 无法连接到 Windows 7 上的 Gmail 帐户

    我正在尝试使用Email Send Gmail发送电子邮件 但由于某种原因 我收到一条错误消息 不允许我连接 代码是标准示例 usr bin perl use strict use warnings use Email Send use E
  • EmberJS registerHelper 在 Ember 1.8 中动态渲染模板

    我想动态渲染一个模板 如下所示 each layout in layouts render layout get type layout each 问题是 render 不需要变量作为它的第一个参数 所以在旧的 EmberJS 版本中 可以
  • 如何将 d3.js 图表转换/保存为 pdf/jpeg

    我正在开发一个客户端 javascript 函数来将现有的 D3 SVG 图形保存或转换为文件 我搜索了很多并找到了一些建议 主要使用canvas toDataURL 我没有
  • 如何将文件嵌入到 exe 中?

    我需要一个包含我的数据的文件嵌入到一个exe中 这样当用户调用它时 它将打开该文件 读取它 采取行动 并且用户看不到该文件或无法访问它或知道它存在 我怎样才能做到这一点 像 Molebox 这样的文件加壳器可以做到这一点 但会花费相当多的费
  • iPhone:如何允许在自定义单元格的表格视图中进行多项选择?

    我该如何调整它才能进行多项选择 并获取选定的 id initWithCellIdentifier NSString cellID if self super initWithStyle UITableViewCellStyleDefault
  • EF4.1:可能有零或一到零或一(0..1 到 0..1)的关系吗?

    NET 4 0 与 SQL Server 2008 R2 我试图表示 0 1 到 0 1 的关系 但不断收到以下错误 错误 113 多重性与关系 1 中角色 0 中的引用约束冲突 由于从属角色中的所有属性均不可为空 因此主体角色的重数必须为
  • 在多项目解决方案中共享变量

    我正在使用 C 在 VS2010 中为 Outlook 2010 创建一个解决方案 该解决方案由 3 个项目组成 项目 A B 和 C 都依赖于此 它定义了需要从 B 和 C 访问的某些变量 函数 项目 B 需要从 A 读取变量 项目 C
  • 如何在不访问 http://getfirebug.com 的情况下包含 firebug light?

    过去我可以包含萤火虫灯 如下所述 JavaFX WebView 中的 Html Javascript 调试 不幸的是 链接 http getfirebug com releases lite 1 2 firebug lite compres
  • Android 中的全局 TTS

    您好 我正在为盲人用户开发一个应用程序 因此我经常使用文本转语音 作为响应用户操作的唯一一种方法 我决定让一个全局 TTS 实例与应用程序的运行时间一样长 我是这样实现的 package com simekadam blindguardia
  • 我可以在 Google App Engine 上使用 SQLite 库吗?

    我目前正在使用 Google Datastore 来存储数据 我想以sql数据库的形式保留一个离线版本 是否可以在谷歌应用引擎上使用sqlite将数据存储转换为sql数据库 从 Python Development Server v1 7
  • 新的 Rails 应用程序默认使用 Postgres 而不是 SQLite3

    我刚刚在这台机器上第一次安装了 rbenv ruby 2 2 3 和rails 4 2 4 我已经启动了我的 Rails 应用程序 没有更改任何代码 只是使用默认生成的文档rails new 然后我启动了服务器rails server 击球
  • 为什么带有内部类的 Java 代码会生成第三个 SomeClass$1.class 文件? [复制]

    这个问题在这里已经有答案了 如果我有一个内部类 如下所示 public class Test public class Inner code public static void main String args code 当我编译它时 我
  • C++ OpenMP 无法加速矩阵乘法

    我用 C 编写了一个简单的矩阵乘法程序 并且它有效 我只是 C 的初学者 但我已经成功地让它工作了 让我困惑的是它比 NumPy 慢得多 我已经对它进行了基准测试 因此 我尝试使用 OpenMP 来加速 但我观察到性能完全没有变化 incl
  • Office Web App - 加载时显示任务窗格

    如何在加载项加载时自动显示自定义任务窗格 即无需单击与该 URL 绑定的命令 2018 年 1 月更新 Office 提供了一项新功能 允许您将加载项配置为在文件加载时自动打开任务窗格 如果之前已在其中使用过该加载项 https learn
  • 多对一关系删除子对象时会抛出异常

    我正在使用 JPA 进行多对一关系 从子表中删除子对象时会抛出异常 下面是我的代码 项目 java Id GeneratedValue strategy GenerationType IDENTITY Column name id priv