我在使用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映射这种情况。不幸的是,一些试错的尝试让我非常空手而归。我非常感谢你在这方面的任何帮助。
提前致谢,
亚历
答案 0 :(得分:0)
这里有一个非常罕见的多对多关联,我怀疑你可以通过映射获得所需的信息。您应该使用特定查询来获得所需内容:
select item from Item item where item.groupId = :groupId