我有以下映射:
@Entity
@Table(name = "Prequalifications")
public class Prequalification implements Serializable
{
...
@ManyToMany
@JoinTable(name = "Partnerships", joinColumns = @JoinColumn(name = "prequalification_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "company_id", referencedColumnName = "id"))
private Set<Company> companies;
...
}
在使用
@ManyToMany
+ @JoinTable
进行映射关系时,关联实体(这里是Partnerships
)自动持久化、删除等操作似乎是隐含的,即使默认情况下,关系没有设置级联操作。以上引用摘自Mike Keith的《Pro JPA 2》。
执行:
em.merge(prequalification);
在上述实体上,如果没有指定任何级联类型,则会保留关联的合作伙伴关系。
我是否正确理解了必须执行这种隐式级联?我查看的任何地方都没有提到这一点...