【发布时间】:2014-08-12 07:56:00
【问题描述】:
我对 Hibernate 很陌生,我不知道我是否在这方面采取了正确的方法,我尝试用谷歌搜索这个问题,但我只成功获得了
这是我的餐桌设置:
我试图在父实体(table1)中有一个地图集合,它有一个实体键和一个基本字符串值Map<Table2, String> table2Propertymapping,其中String 值是连接表中枚举属性字段的值@ 987654324@,键是连接表中拥有table2_idtable2外键的相应table2实体。
我在table1实体中试过这个注解
@ElementCollection
@MapKeyJoinColumn(name = "table2_idtable2")
@Column(name = "property")
@CollectionTable(name = "table2_has_table1", joinColumns = @JoinColumn(name = "table1_idtable1", nullable = false, updatable = false))
Map<Table2, String> table2Propertymapping;
这成功地填充了地图但它在提取期间从连接表中删除了一些值。
注意:在我的真实数据库中,连接表中的外键与父主键同名,所以例如table2_idtable2被称为idtable2我不知道这可能会对映射产生什么影响。
那么使用连接表获取实体并将它们与连接表中的该属性进行映射的正确方法是什么?谢谢
【问题讨论】:
标签: hibernate jpa hibernate-annotations