Hibernate Annotation连接表问题

ber*_*rdw 4 hibernate

在使用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>(); 
Run Code Online (Sandbox Code Playgroud)

dan*_*nez 7

第三列在技术上使该表成为实体,而不是"可连接".因此,表格本身就需要是一个实体.从SQL的角度考虑它.连接表只是一个连接表,它不仅仅包含将其他两个表连接在一起所需的信息吗?

同样作为FYI,这个场景在"Java持久性(JPA)和Hibernate"的第7章中有所介绍:

您可以使用两种常见策略将此类结构映射到Java类.第一个策略需要连接表的中间实体类,并使用一对多关联进行映射.第二种策略使用一组组件,具有连接表的值类型类.

  • 具体来说,这是本书第7.2.3节. (2认同)