【发布时间】:2014-04-18 11:19:42
【问题描述】:
如果@ElementCollection 已被使用,我有一个包含两列的表格。
我想重命名这些列。我可以通过@CollectionTable(joinColumns=@JoinColumn(name="login_id")) 为col1 执行此操作,但是如何重命名col2?
这种情况不起作用:
@ElementCollection
@CollectionTable(joinColumns=@JoinColumn(name="login_id")
)
@Column(name = "profile_id")
public Set<Profile> getDefaultProfiles() {
return defaultProfiles;
}
col2的名字留在defaultProfiles_id。
我使用Hibernate 4.3.4.Final
【问题讨论】:
-
什么是
Profile?如果是实体,为什么要用@ElementCollection来指代呢? -
你的意思是我应该改用
@OneToMany? -
是的,
@OneToMany或@ManyToMany,取决于您的需要。 -
好的。看起来
@Column仅适用于基本数据类型的@ElementCollection,例如Set<String> -
它也适用于地图
标签: java hibernate jpa jpa-2.0