如何在 JPA 中从 @EmbeddedId 设置反向引用

2023-11-22

有人知道是否可以在 JPA 内建立反向引用@EmbeddedId.

例如,有一个形式的实体

@Entity
public class Entity1 {
    @Id
    @GeneratedValue
    private String identifier;

    private Entity1 relationToEntity1;
    //Left out the getters and setters for simplicity
}

还有一个具有复杂嵌入 ID 的第二个实体。第二个实体的一部分是对其父实体的引用。就像这样:

@Entity
public class Entity2 {
    @EmbeddedId private Entity2Identifier id;
    //Left out the getters and setters for simplicity.
}

@Embedabble
public class Entity2Identifier {
    private String firstPartOfIdentifier;
    private Entity1 parent;
    //Left out the getters and setters for simplicity.
}

当我尝试通过 JPA(实现是 EclipseLink)将这样的构造保存到数据库时,我收到以下形式的几个异常:

Exception [EclipseLink-93] (Eclipse Persistence Services - 1.1.0.r3639-SNAPSHOT): 
org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The table [ENTITY1] is not present in this descriptor.
Descriptor: RelationalDescriptor(test.Entity2 --> [DatabaseTable(ENTITY2)])


您正在寻找的是派生 ID。如果您使用 JPA 2.0,则以下内容将起作用。您确实不希望整个父级成为 PK 的一部分,而只是父级 PK 的一部分。

@Entity
public class Entity1 {
    @EmbeddedId
    private ParentId identifier;

    @OneToOne(mappedBy="relationToEntity1")
    private Entity2 relationToEntity2;

    //Left out the getters and setters for simplicity
}

@Entity
public class Entity2 {
    @EmbeddedId private Entity2Identifier id;
    //Left out the getters and setters for simplicity.

    @MapsId("parentId")
    @OneToOne
    private Entity1 parent;

}

@Embedabble
public class Entity2Identifier {
    private String firstPartOfIdentifier;
    private ParentId parentId;
    //Left out the getters and setters for simplicity.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JPA 中从 @EmbeddedId 设置反向引用 的相关文章

  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 使用反射覆盖最终静态字段是否有限制?

    在我的一些单元测试中 我在最终静态字段上的反射中遇到了奇怪的行为 下面是说明我的问题的示例 我有一个基本的 Singleton 类 其中包含一个 Integer public class BasicHolder private static
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供

随机推荐

  • 使用 htaccess 阻止特定目录的所有机器人/爬虫/蜘蛛

    我正在尝试阻止特殊目录的所有机器人 爬虫 蜘蛛 我怎样才能做到这一点htaccess 我搜索了一下 找到了基于用户代理阻塞的解决方案 RewriteCond HTTP USER AGENT googlebot 现在我需要更多的用户代理 对于
  • 从 Rails 表单获取数组

    我需要设计一个表格account资源 在这种形式下 我需要收集一些 id 集作为数组params属性中的哈希值称为relationships 所以最后的params account POST 请求的哈希值应类似于 name gt somen
  • 嵌套垂直边距折叠如何工作?

    我很难理解嵌套元素中垂直边距折叠的概念 我来了一篇文章http www howtocreate co uk tutorials css margincollapsing解释它是如何工作的 但是我对其解释感到困惑 所以在它的例子中它引用了以下
  • Rails:使用多个条件连接

    我有一个简单的模型 例如 class Interest lt ActiveRecord Base has and belongs to many user profiles end class UserProfile lt ActiveRe
  • 类中 static const ODR

    我有点困惑statica 的类内初始化const成员 例如 在下面的代码中 include
  • 将 jQuery UI Accordion 放入 jQuery UI 对话框中

    通过为选项卡创建适当的标记 我已经能够将 jQuery UI 选项卡小部件放置在 jQuery UI 对话框中 但对手风琴进行同样的操作并不起作用 单击手风琴部分的锚点会导致对话框关闭 有没有一种简单的方法可以实现这一点 对我来说效果很好
  • 查找某个项目是否在 JavaScript 数组中的最佳方法? [复制]

    这个问题在这里已经有答案了 查找对象是否在数组中的最佳方法是什么 这是我所知道的最好的方法 function include arr obj for var i 0 i lt arr length i if arr i obj return
  • C# delegate 只写出最后一个方法

    我有这个代码 public void myMethod int a 10 int b 20 Func
  • 如何使用 .htaccess 重写将根 URL 重定向到子目录?

    试图得到 www example com 直接去 www example com store 我尝试了多段代码 但没有任何效果 我尝试过的 Options FollowSymlinks RewriteEngine on RewriteCon
  • Rails:在登录或注册后设计重定向到存储位置?

    我正在编写的 Rails 应用程序中使用 Devise 我想让用户在登录或注册后返回到他们所在的位置 例如 如果我有一个受以下保护的 评论 控制器 before filter authenticate user 然后我希望用户点击 立即评论
  • WPF Treeview 数据绑定混合类型的分层数据

    我的 WPF Treeview 绑定情况有点复杂 我在过去的两天里尝试用谷歌搜索它 并且this这是我想出的关闭方式 但这并不能解决问题 情况如下 我有一个看起来像这样的对象 public class Category public str
  • 窗口函数 LAG 可以引用正在计算值的列吗?

    我需要根据当前记录的其他一些列和前一条记录的 X 值 使用某些分区和顺序 计算某些列 X 的值 基本上我需要以形式实现查询 SELECT
  • 将 Spring Boot 集成到 EAR 项目中

    我有一个使用 Spring Boot 创建的现有战争项目 如何将其打包到具有 EJB 模块的 EAR 中 有没有办法将模型和 dao 包移动到 EJB 模块并用 WAR 模块注入它 您需要一个父项目 其中包括一个 war 项目 这将是您的
  • 循环遍历 LINQ 查询列(而不是行)

    是否可以循环 LINQ 查询的结果 如果可以 如何循环 像这样的东西 var results from a in dt AsEnumerable where a Field
  • 如何判断字符串是否是base64

    我有很多来自不同来源的电子邮件 它们都有附件 其中很多附件名称都是中文的 所以这些 名称由电子邮件客户端转换为 Base64 当我收到这些电子邮件时 我希望解码该名称 但还有其他名称 不是base64 如何使用以下命令区分字符串是否为 ba
  • 如何在标题标签中放置滚动文本?

    我想让标题文本可滚动 我使下面的代码滚动良好 但我输入的文本显示时没有空格 这意味着不考虑字符串中的空格
  • 如何将 URL 作为路径参数传递给 FastAPI 路由?

    我使用 FastAPI 创建了一个简单的 API 并且尝试将 URL 作为任意地址传递到 FastAPI 路由path范围 from fastapi import FastAPI app FastAPI app post path def
  • 如何保存应用了 CSS 滤镜的图像

    我想知道如何将 CSS 过滤器应用于图像 然后将图像保存到磁盘 例如 我有一个图像标签 我可以通过 CSS 应用棕褐色效果 img sepia filter sepia 20 并将该类应用于 HTML 中的图像标签 img src img
  • “for”开头的分号如何工作?

    我刚刚在 Mozilla 网站上看到了这段代码 虽然对我来说它看起来很糟糕 但我可能不熟悉它的用法 for k lt len k if k in t t k searchElement return k 循环开头的分号如何工作 完整的代码是
  • 如何在 JPA 中从 @EmbeddedId 设置反向引用

    有人知道是否可以在 JPA 内建立反向引用 EmbeddedId 例如 有一个形式的实体 Entity public class Entity1 Id GeneratedValue private String identifier pri