JPA 1.0的旧数据库映射问题

时间:2011-07-11 15:21:14

标签: java jpa jpa-1.0

我在使用JPA 1.0映射旧数据库时遇到问题。数据库存储为非规范化以用于数据挖掘目的。我把它浓缩成一个简单的例子,希望澄清这个问题。假设我有以下两个表:

Table ITEMS
  PKEY  GROUPID  NAME
  1     1        'AX'
  2     1        'AY'
  3     2        'BX'
  4     2        'BY'

Table XENTITY
  PKEY  ITEMGROUPID  NAME
  1     1            'E1'
  2     1            'E2'
  3     2            'E3'

我基本上想要完成的是从XENTITY访问具有存储在XENTITY的ITEMGROUPID列中的GROUPID的所有ITEM。这类Java类应该看起来像下面的代码片段。

class Item {
}

class XEntity {
    public Set<Item> getItems();
}

因此,对于XENTITIE的'E1','E2',我会得到ITEM的'AX','AY'和'E3',我会得到'BX','BY'。

我不确定如何用JPA映射这种情况。不幸的是,一些试错的尝试让我非常空手而归。我非常感谢你在这方面的任何帮助。

提前致谢,

亚历

1 个答案:

答案 0 :(得分:0)

这里有一个非常罕见的多对多关联,我怀疑你可以通过映射获得所需的信息。您应该使用特定查询来获得所需内容:

select item from Item item where item.groupId = :groupId