是否可以在 JPA 中映射 map> ?

2024-01-12

我在想如果我使用像这样的地图Map<String,List<Entity>> or Map<Long,List<Entity>>它将帮助我做一些事情,但我找不到任何示例来绘制此类地图。

我的问题是,是否可以在 JPA 标准中进行这种映射,以及我应该使用哪种注释?


答案显然是否定的,根据link http://en.wikibooks.org/wiki/Java_Persistence/Relationships#Nested_Collections.2C_Maps_and_Matrices在对原始帖子的评论中,我还可以根据我的尝试确认它在 Eclipselink 中不起作用。

我尝试做一个嵌套的 Map> ,其中 key 是 ISO2 语言代码,这将有助于仅检索满足当前语言上下文的子关系的特定子集。

像这样的事情:

public class ProductEntity {

  @MapKey(name = "language")
  @OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true,   fetch = FetchType.LAZY)
  private Map<String, List<AttributeEntity>> attributes;

}

public class AttributeEntity {

  private String language;

  @ManyToOne
  @JoinColumn(name="product_id")
  private ProductEntity product;
}

当您需要检索特定语言的属性(例如来自 REST Accept-Language 标头)时,这将很有用,因为您可以getAttributes().get(currentLanguage)而不是编写 NamedQueries 或进行流过滤。

至少对于 Eclipselink,当我尝试这样做时,我遇到了一个无意义的错误:

IllegalArgumentException:对象: [com.my.project.AttributeEntity@745f] 不是已知的实体类型。

也许 Hibernate 有一些技巧来支持这一点,但我没有测试它。我的猜测是——不。

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

是否可以在 JPA 中映射 map> ? 的相关文章

随机推荐

  • 使用 Json.net 反序列化具有接口值的复杂嵌套字典类型

    我在尝试使用 Json net 反序列化具有接口值的相当复杂的嵌套字典类型时遇到问题 代码位于此处 https dotnetfiddle net JSoAug https dotnetfiddle net JSoAug 有问题的类型是 pu
  • python 我可以向 os.listdir 提供用户名和密码吗?

    Python 3 4 Django 1 7 Windows Apache 2 4 12 我试图列出 Windows 共享驱动器上的所有文件 仅限某些用户 然后将几个文件写入共享驱动器 我正在使用 os listdir 来执行此操作 如果我只
  • 如何使用 Selenium webdriver 在 Capybara 中打开新窗口?

    我找到了一段代码 page driver browser switch to window 这显然是切换到已经打开的窗口 我们如何使用 page driver browser 对象打开一个新窗口 Thanks 我最终来到这里 即使是一个旧线
  • 没有匹配的函数调用“pthread_create”

    我正在使用 Xcode 和 C 制作一个简单的游戏 问题是下面的代码 include
  • 为什么在宏中使用明显无意义的 do-while 和 if-else 语句?

    在许多 C C 宏中 我看到宏的代码被包裹在看似毫无意义的内容中 do while环形 以下是示例 define FOO X do f X g X while 0 define FOO X if 1 f X g X else 我看不到什么d
  • 尽管身份密钥计数器在 TRY Catch 中且事务已回滚,但它仍会增加 1? SSMS 2008

    尽管身份计数器在 TRY Catch 中且事务已回滚 但它仍会增加 1 SSMS 2008 有什么方法可以阻止它 1 或回滚它 为了理解为什么会发生这种情况 让我们首先执行下面的示例代码 USE tempdb CREATE TABLE db
  • 将 Abaqus 宏转换为 Python 脚本

    我正在使用 Abaqus 6 13 运行 FEM 热模拟 我需要获得应用于该模型的总外部热通量 我的搜索表明 获得它的唯一方法是对整个模型的 RFLE 历史输出求和 并且效果很好 问题是我有大约 300 000 个元素模型 并且简单打开 R
  • JSON 上的 PostgreSQL 索引

    使用 Postgres9 4 我想在 json 列上创建一个索引 该索引将在搜索列中的特定键时使用 例如 我有一个 农场 表 其中包含 json 列 动物 Animals 列具有通用格式的 json 对象 cow 2 chicken 11
  • 如何在 grunt.initConfig() 之前执行异步操作?

    现在 我的 Gruntfile 设置可以执行一些自动检测魔法 例如解析源文件以解析 roder 中的一些 PHP 源 以动态找出运行前我需要知道的文件名和路径grunt initConfig 很遗憾grunt initConfig 似乎并不
  • jEditable:提交后显示选项文本(而不是值)

    我在选择列表上使用 jEditable 除了以下问题之外 它工作得很好 jEditable 在提交后显示服务器发回的任何内容 这对于文本框等非常有用 您可以在其中简单地从服务器发回提交的值 然而 这对选择列表没有意义 因为发布的值只是选项元
  • 如何知道 reCAPTCHA v3 是否有效?

    我的前端使用 vuetify 如下 validate async function let tokenCaptcha await this recaptcha login then token gt tokenCaptcha token i
  • Spark 上的 MC-斯坦?

    我希望使用MC Stan http mc stan org on Spark http spark apache org 但谷歌搜索似乎没有相关页面 我想知道这种方法在 Spark 上是否可行 因此如果有人让我知道 我将不胜感激 此外 我还
  • 合并两个接口

    寻求确认或澄清 如果我有两个接口 创建这两个界面的合并的 正确 方法是什么 IFoo some stuff IBar some stuff IFooBar extends IFoo IBar Empty 它可以工作 但感觉很奇怪 就像我对空
  • 如何将大文件从表单上传到 Phoenix?

    我有一个带有文件字段的 HTML 表单 用于将文件上传到 file我的 Phoenix 应用程序中的路线 我从命令行模仿这种行为curl v F file MyTestFile http localhost 4000 file 为了更快的测
  • Symfony2 + CreateFormBuilder 如何在表单中渲染图像

    我使用 Symfony2 和 CreateFormBuilder 来创建我的表单 目前我正在使用 form widget form 显示表单 我的实体有path属性是图像保存在文件系统上的路径 我想以表单显示图像 带有 img html 标
  • 检测传入的 XML“CR”字符,然后转换为

    我在 ASP 内部使用 XSLT 它由 msxml6 提供服务 加载到对象的传入 XML 具有 回车符 我认为这可能是 ASCII 10 我想将它们转换为 br 在输出中 我正在尝试检测 10 在传入的 XML 中 但似乎找不到 我尝试过
  • jquery 选择(每个)所有选中的复选框?

    任何人都可以帮助解决以下问题 它不会返回任何选中的复选框 我做错了什么吗 I have input type checkbox checked type element each function index alert checked i
  • 强制关键帧是什么意思?

    强制关键帧是什么意思 根据doc https ffmpeg org ffmpeg html force key frames stream specifier expr expr output per stream 在指定的时间戳强制关键帧
  • 使用 CSS 更改
    高度

    我见过一个question https stackoverflow com questions 1409649 how to change height of a br这里大致相同 但我无法得到任何工作答案 至少在 Chrome 上 这个问
  • 是否可以在 JPA 中映射 map> ?

    我在想如果我使用像这样的地图Map