我有两个对象:实体和辅助。 实体包含辅助字符串的映射。它还有一个复合键。
我的映射与JDO一起工作,但现在(过去)时间转移到JPA。
我无法弄清楚如何编写注释以使其有效,
数据库中有三个包含数据的表。
<script>$('form[name="form1"]').submit();</script>
我正在运行Hibernate 4.2.19
主要班级:
desc map_table
Name Null Type
---------- -------- ------------
ENTITYID NOT NULL VARCHAR2(12)
ENTITYSOURCE NOT NULL NUMBER(1)
SECONDARYID NOT NULL VARCHAR2(20)
VALUE NOT NULL VARCHAR2(16)
desc entity
Name Null Type
---------- -------- ------------
ID NOT NULL VARCHAR2(12)
SOURCE NOT NULL NUMBER(1)
.....
desc secondary
Name Null Type
---------- -------- ------------
ID NOT NULL VARCHAR2(12)
name NUMBER(1)
以下是我要留下的 JDO 映射:
@Entity
@Table(name="ENTITY")
public class Entity
{
@EmbeddedId
private EntityKey key;
@SomehtingIHavntFiguredOut
private Map<Secondary, String> domainConfig = new HashMap<Secondary, String>();
}
答案 0 :(得分:0)
我的解决方案
@ElementCollection
@CollectionTable(name="MAP_TABLE", joinColumns={
@JoinColumn(name="entityid",referencedColumnName="id"),
@JoinColumn(name="entitysource",referencedColumnName="source")
})
@MapKeyJoinColumn(name="secondaryid")
@Column(name = "VALUE")
private Map<Secondary, String> domainConfig = new HashMap<Secondary, String>();
我不清楚何时使用@ElementCollection,以及何时使用@OneToMany。我认为因为值是基元正确的注释是@ElementCollection。