再一次,JPA没有意义

时间:2008-10-03 16:24:08

标签: database jpa

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.

如何进行OneToManyManyToOne联接,以便我不需要新列或新表?请举个例子。问题是B表中缺少外键吗?

如果我遗漏了映射,我得Unknown column 't1.S_S_ID' in 'field list'

如果我按照Unknown column 'S_S_ID' in 'field list'

放入映射

1 个答案:

答案 0 :(得分:1)

我发现了,我需要添加@JoinColumn并为其命名......