当使用hibernate注释进行连接表时,如何添加一个不是连接列的额外列,例如,结婚为弱实体?像一个额外的列?
@ManyToMany(targetEntity=some.class,
cascade ={CascadeType.PERSIST, CascadeType.MERGE}, fetch=FetchType.EAGER)
@JoinTable(name = "RELATION", joinColumns ={
@JoinColumn(name = "HID", unique = true)
}, inverseJoinColumns = {
@JoinColumn(name = "FID")
})
Set<PERSON> PEOPLE = new HashSet<PERSON>();
答案 0 :(得分:7)
第三列在技术上使该表成为实体,而不是“可连接”。因此,表格本身就需要是一个实体。从SQL的角度考虑它。连接表只是一个连接表,它不仅仅包含将两个其他表连接在一起所需的信息吗?
同样作为FYI,这个场景在“使用Hibernate的Java持久性(JPA)”的第7章中有所介绍:
您可以使用两种常用策略将此类结构映射到Java类。该 第一个策略需要连接表的中间实体类并进行映射 与一对多的关联。第二种策略使用一组组件,具有连接表的值类型类。