映射集合映射使用JPA注解 [英] Mapping a map collection with JPA annotations
本文介绍了映射集合映射使用JPA注解的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好
我用迁移从XML休眠到JPA注释的应用程序。
目前,我被困在绘制地图的对象使用复合标识注解
这是怎么我试图做到这一点。
A级
{
...
@OneToMany()
@JoinColumn(NAME =A_ID)
/ * B_ID应该在此映射中的关键* /
私人地图=新的HashMap();
}B类
{
@EmbeddedId
私人CompoundId ID;
}@Embeddable
类CompoundId
{
@Column(NAME =A_ID)
串援助; @Column(NAME =B_ID)
长BID
}
我也试过
@OneToMany()
@JoinColumn(NAME =A_ID,插入=假,可更新= FALSE)
@MapKeyColumn(NAME =B_ID)
私人地图=新的HashMap();值java.sql.SQLException:ORA-00904:所致。B1 _,ID:无效的标识符
没有运气
在XML映射它看起来像这样
<地图名称=地图逆=真级联=全删除,孤儿为lazy =false的>
<密钥GT;
<列名=A_ID/>
< /键><地图键式=长栏=B_ID/>
&下;一对许多类=B/>
< /图>
休眠3.2.7.ga和注释3.4.0.GA
THX!
解决方案
@OneToMany()
@JoinColumn(NAME =A_ID,插入=假,可更新= FALSE)
@MapKeyColumn(NAME =B_ID)
私人地图=新的HashMap();
做的工作,这个问题似乎是在B级的复合标识
的映射干杯
Hi guys I am migrating an application using hibernate from xml to JPA annotations. Currently I am stuck on mapping a map of objects with compound id using annotations This is how am trying to do it.
class A
{
...
@OneToMany()
@JoinColumn(name="A_ID")
/* B_ID should be the key in this map */
private Map map = new HashMap();
}
class B
{
@EmbeddedId
private CompoundId id;
}
@Embeddable
class CompoundId
{
@Column(name = "A_ID")
String aId;
@Column(name = "B_ID")
long bId
}
I have also tried
@OneToMany()
@JoinColumn(name="A_ID", insertable=false, updatable=false)
@MapKeyColumn(name="B_ID")
private Map map = new HashMap();
Caused by: java.sql.SQLException: ORA-00904: "B1_"."ID": invalid identifier
with no luck
in mapping XML it looks like this
<map name="map" inverse="true" cascade="all-delete-orphan" lazy="false">
<key>
<column name="A_ID" />
</key>
<map-key type="long" column="B_ID"/>
<one-to-many class="B" />
</map>
hibernate 3.2.7.ga and annotations 3.4.0.GA
thx !
解决方案
@OneToMany()
@JoinColumn(name="A_ID", insertable=false, updatable=false)
@MapKeyColumn(name="B_ID")
private Map map = new HashMap();
did work, the problem appeared to be in mapping of composite id of B class
Cheers
这篇关于映射集合映射使用JPA注解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文