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