我很难弄清楚用JPA2映射定义以下关系的正确方法。
create table TableA {
id int primary key
name varchar(255) not null
);
create table TableB {
x_id int not null REFERENCES TableA(id),
y_id int not null REFERENCES TableA(id),
PRIMARY KEY (x_id, y_id)
);
由于涉及复合键,我知道我需要定义一个可序列化的类,例如FooPK
。
@Embeddable
public class FooPK {
@Column(name = "x_id", insertable=true, nullable=false)
private long x_id;
@Column(name = "y_id", insertable=true, nullable=false)
private long y_id;
...
}
但我很遗憾在哪里定义@OneToMany和@ManyToOne关系,以及在这种情况下如何正确写下@JoinColumn()。
非常感谢任何帮助。
奥利弗
答案 0 :(得分:0)
尝试使用@ManyToMany注释。
您无需定义中间类。
更多信息:http://download.oracle.com/javaee/5/api/javax/persistence/ManyToMany.html