0
与JPA和ORM一起使用,所以此问题可能是旧帽子。我有以下表:使用连接表将JPA双向@ManyToOne关系映射到多个表
CREATE TABLE INSTITUTION (
inst_id BIGINT PRIMARY KEY,
:
:
);
和
CREATE TABLE PERSON (
pers_id BIGINT PRIMARY KEY,
:
:
);
在上述各表中的具有一对多的关系到另一个表,CONTACTINFO
CREATE TABLE CONTACTINFO (
cont_id BIGINT PRIMARY KEY,
:
:
);
在RDBMS表,该关系可以用两个连接表来映射:
JOIN_CONTACTS_PERSON (cont_id, pers_id)
JOIN_CONTACTS_INSTITUTION (cont_id, inst_id)
在SQL中,关系可以通过加入使用正确的所希望的表来建立连接表,例如:
SELECT *
FROM Person AS p
JOIN Join_Contacts_Person AS jt ON p.pers_id = jt.pers_id
JOIN Contacts AS c ON jt.cont_id = c.cont_id;
在JPA中,的一对多的关系拥有方必须是“多”在这种情况下,联系人表。但似乎没有任何方法可以使用JPA注释映射到“多”端的多个连接表。
我的问题是:1)不可能通过多个连接表映射双向多对一关联吗? ... 2)是否也不可能通过两个或多个连接表映射单向多对一关系? ...和... 3)一个可能的解决方法是将@ManyToMany注释用于两个单向映射,并使每个关系的“一边”都属于自己的一面?
一种误解,确实如此。非常感谢您的澄清。 – scottb