ManyToOne关系通过嵌入字段连接

时间:2013-05-03 13:11:51

标签: jpa jpa-2.0 spring-data-jpa

jpa / spring-data question

我有类植物,它有embeddedId PlantId 我有类图像作为Embbeded字段PlantId

这意味着每个图像都连接到工厂。所以连接是一对多(一个工厂很多图像)

我尝试了类似的东西(不起作用)

@entity
public class Plant{
     @EmbbededId
     PlantId id
}

@entity
public class Image{
     @Id
     Long id

     @Embbeded
     PlantId plantId

     @ManyToOne
     Plant plant

}

我如何修复代码以获得我正在寻找的结果? 感谢

橡树

编辑: 如果我有Plant的复合ID,我如何映射ManyToOne关系的列?

1 个答案:

答案 0 :(得分:1)

删除plantId embeddable后缺少的是ManyToOne映射上的连接列定义,以便JPA知道用于匹配Plant中id字段的外键。类似的东西:

@ManyToOne
@JoinColumns({
        @JoinColumn(name="FK_1", referencedColumnName="PK1"),
        @JoinColumn(name="FK_2", referencedColumnName="PK2"),
        @JoinColumn(name="FK_3", referencedColumnName="PK3") 
        })
Plant plant;