我asked this之前被告知要查看映射。
我有2个表:一个s_id(键)名称cli类型
B sa_id(key) s_id user pwd.
所以在Jpa我有:
@Entity class A...{ @OneToMany(fetch=FetchType.EAGER) @JoinTable( name="A_B", joinColumns={@JoinColumn(name="a_id", table="a",unique=false)}, inverseJoinColumns={@JoinColumn(name="b_id", table="b", unique=true)} ) Collection getB(){...} }
b类只是一个基本的实体类 没有提到A。
希望这很清楚。我的问题 是:我真的需要一个连接表 做这么简单的加入?不可能 完成一个简单的连接列或 什么?
现在如果有这个,但是jpa正试图用一些不存在的新列(s_s_id
)来编写查询
@Entity
class A{
...
@OneToMany(fetch=FetchType.EAGER, mappedBy="s")
Collection<B> x;
}
@Entity
class B{
@ManyToOne
A s;
}
With these tables:
A
s_id(key) name cli type
B
sa_id(key) s_id(the keys from A) user pwd.
如何进行OneToMany
和ManyToOne
联接,以便我不需要新列或新表?请举个例子。问题是B表中缺少外键吗?
如果我遗漏了映射,我得Unknown column 't1.S_S_ID' in 'field list'
如果我按照Unknown column 'S_S_ID' in 'field list'
答案 0 :(得分:1)
我发现了,我需要添加@JoinColumn
并为其命名......