0

我们有两个 DAO 实体,CustomerRecord.

Record 有两个客户列表,typeA并且typeB.

我们每个类模式都有一个表,所以有一个连接表RECORD_X_CUSTOMER。此表有RECORD_IDTYPEA_ID和列TYPEB_ID

问题是我们在这个连接表中有一些条目在同一表行中同时包含 atypeA id和 a 。typeB id在应用程序中,如果我们删除了一个 typeA 并且记录中还有一个 typeB,那么它们都将被删除,反之亦然。有没有办法让 Hibernate 使列无效,而不是删除整个表行?

以下是类注释:

@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(
    name="TYPEA_X_CUSTOMER"
    , joinColumns={
        @JoinColumn(name="RECORD_ID", referencedColumnName="ID")
        }
    , inverseJoinColumns={
        @JoinColumn(name="TYPEA_ID", referencedColumnName="ID")
        }
    )       
@BatchSize(size=1000)
protected List<Customer> typeA;

@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(
    name="TYPEB_X_CUSTOMER"
    , joinColumns={
        @JoinColumn(name="RECORD_ID", referencedColumnName="ID")
        }
    , inverseJoinColumns={
        @JoinColumn(name="TYPEB_ID", referencedColumnName="ID")
        }
    )
@BatchSize(size=1000)
protected List<Customer> typeB;
4

0 回答 0