jzi*_*lla 2 java orm annotations many-to-many hibernate
表格布局:
TABLE ORDER: id localizedInfoId Table OrderLocalizedInfo: id localizedInfoId name
使用以下实体:
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Long id;
@ManyToMany(
targetEntity=OrderLocalizedInfo.class,
cascade={CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(
name="OrderLocalizedInfo",
joinColumns=@JoinColumn(name="localizedInfoId"),
inverseJoinColumns=@JoinColumn(name="localizedInfoId"))
private List localizedInfos;
}
public class OrderLocalizedInfo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Long id;
@Column(name="localizedInfoId")
private Long localizedInfoId;
@Column(name="name")
private String name;
}
我想映射上面的情况,以便在订单对象上使用每个表中的"localizedInfoId"字段列出OrderLocalizedInfo对象.当我这样做时,我得到一个映射异常'重复列映射集合Order.localizedInfos列:localizedInfoId.
我真的不了解你的物理模型,但它显然不代表多对多的关联.A和B之间的多对多关联涉及一个连接表,其中包含源表和目标表的主键列:
+-------+ +-------+ +-------+ | A | | A_B | | B | +-------+ +-------+ +-------+ | A_ID | | AID | | B_ID | | ... | | BID | | ... | +-------+ +-------+ +-------+
所以目前,没有什么可以映射的@ManyToMany.你需要修复你的物理模型或澄清你想要实现的目标(也许它毕竟不是很多).
| 归档时间: |
|
| 查看次数: |
1041 次 |
| 最近记录: |