Spring和Hibernate:如何声明加入到复合键(使用说明)? [英] Spring and Hibernate : how to declare a join to composite key (using annotations)?
本文介绍了Spring和Hibernate:如何声明加入到复合键(使用说明)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要参加我的项目的最新版本号表Project_version。
我怎样注释@JoinColumn声明它,等等?
我的表项目
* PROJECT_ID
标题
...
LastVersion_id
我的表 Project_version (主键= PROJECT_ID + VERSION_ID )
* PROJECT_ID
* VERSION_ID
DateCreat
...
我的豆项目:我需要声明属性 LastVersion_id 加入Project_version:
@Id
私人整数PROJECT_ID;
私人字符串名称
...
@ManyToOne(取= FetchType.EAGER)
@JoinColumn(NAME =LastVersion_id)
//如何申报加盟(PROJECT_ID + VERSION_ID)?
私人Project_version PV;
解决方案
好吧,我终于找到了答案:
@Id
私人整数PROJECT_ID;
私人字符串名称;
// ...
@MapsId(PROJECT_ID)
@ManyToOne(取= FetchType.EAGER)
@JoinColumns({
@JoinColumn(NAME =PROJECT_ID,referencedColumnName =PROJECT_ID),
@JoinColumn(NAME =LastVersion_id,referencedColumnName =VERSION_ID)
})
私人Project_version PV;
注意 @MapsId
是绝对必需的,否则,你得到了错误在实体映射重复列
I need to join the "last version" number of my Project to the table Project_version. How do I declare it with annotations @JoinColumn, etc ?
My table "Project" :
* Project_id
Title
...
LastVersion_id
My table "Project_version" (primary key = Project_id + Version_id) :
* Project_id
* Version_id
DateCreat
...
My bean "Project" : I need declare the attribute "LastVersion_id" to join Project_version :
@Id
private Integer Project_id;
private String Title
...
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="LastVersion_id")
// How to declare the join to (Project_id + Version_id) ?
private Project_version pv;
解决方案
OK, I finally found the answer :
@Id
private Integer Project_id;
private String Title;
// ...
@MapsId("Project_id")
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumns({
@JoinColumn(name="Project_id", referencedColumnName="Project_id"),
@JoinColumn(name="LastVersion_id", referencedColumnName="Version_id")
})
private Project_version pv;
Note that @MapsId
is absolutely required, otherwise you got the error "Repeated column in mapping for entity"
这篇关于Spring和Hibernate:如何声明加入到复合键(使用说明)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文