我在使用 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 访问所有具有 GROUPID 的项目,该 GROUPID 存储在 XENTITY 的 ITEMGROUPID 列中。Java-class-wise 这应该看起来像下面的代码片段。
class Item {
}
class XEntity {
public Set<Item> getItems();
}
因此,对于 XENTITIE 'E1'、'E2',我会得到项目 'AX'、'AY' 而对于 'E3',我会得到 'BX'、'BY'。
我不确定如何用 JPA 映射这种情况。不幸的是,几次试错尝试让我两手空空。我非常感谢这方面的任何帮助。
提前致谢,
亚历克斯