【问题标题】:Map a Map<Long, List<POJO>> through JPA eclipselink通过 JPA eclipselink 映射 Map<Long, List<POJO>>
【发布时间】:2013-05-08 15:38:47
【问题描述】:

我有一个与定义的问题陈述类似的要求 I want to map a Map<Long, List<POJO>> through JPA

我正在使用 eclipselink,我还必须创建一个单独的类 ItemAttributes ,但在这个类中,我至少必须对表 ITEM_ATTRIBUTE 使用主键。然而,配置能够在地图中获取结果,但是在创建新记录时,eclipselink 尝试将 ItemAttributes 视为实体,因此最终在我不想要的 ITEM_ATTRIBUTE 表中插入 primarykey(为 null)的值,我只想插入 - List 属性列表。令人惊讶的是,我无法将主键设为在 ItemAttributes 类中声明的只读。

知道如何避免这种情况吗?此外,我不能将描述符类 ItemAttributes 设为只读,因为它会跳过整个表 ITEM_ATTRIBUTE 的创建部分。我正在使用 eclipselink 工作台进行配置。

【问题讨论】:

    标签: jpa eclipselink one-to-many


    【解决方案1】:

    您需要创建一个实体类来表示与其他帖子的答案中的关系。

    您的确切模型/数据模型是什么。

    您的中间类将需要一个 Id,如果您没有逻辑 ID,则可以使用 @GeneratedValue。

    【讨论】:

    • 我添加了一个中间实体类,但是在保存/更新时我不希望整个实体类在 CRUD 操作中发挥作用,实际上我只想要 @OneToMany 关系私有 List 属性;用于插入/更新和其他属性,如 id 应被忽略。此外,实体类不能标记为只读,因为它不允许在 ITEM_ATTRIBUTE 表中插入任何行。
    猜你喜欢
    • 2013-02-10
    • 2019-11-27
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    相关资源
    最近更新 更多