我有3个独立的实体在我的项目。流程、客户、代理。本项目是一个过程管理项目。我必须在这三个实体之间建立关系。我想使用JPAMap。流程与客户和代理都有多对多的双向关系。客户和代理都具有双向的多对多的流程关系。我应该在它们之间使用什么样的Map。当删除一个过程时,如果一个客户与该过程相关联,则不应删除该客户实体,因为该客户可能与另一个过程相关联。类似地,对于处理代理关系。以下是三个实体。class Process {
private UUID id;
private String name;
private String description;
private String deepLinkId;
private StatusDto status;
private TaskDto task;
private Set<CustomerEntity> customers;
private Set<AgentEntity> agents;
字符串
} public class Testname {
private UUID id;
@Setter(AccessLevel.NONE)
private int roleId = 1;
private String name;
private UUID notificationId;
private String mobile;
private String email;
private Boolean active;
private Date iat;
private CountryEntity country;
private Set<ProcessEntity> processes;
型
} public class Uncategorized {
private UUID id;
@Setter(AccessLevel.NONE)
private int role_id = 2;
private String name;
private String mobile;
private String email;
private String companyName;
private Boolean active;
private String username;
private String password;
private Date iat;
private CompanyEntity company;
private Set<ProcessEntity> processes;
型
}
任何帮助都将不胜感激。
1条答案
按热度按时间mnemlml81#
你得先决定主人。在双向多对多关系中,必须将一个实体设置为所有者。在你的例子中,如果你想删除
Process
实体和相应的customer
实体,那么你必须将Process
实体设置为所有者。您必须编写以下代码以将所需实体设置为所有者:
字符串
数据将像这样存储:
型
如果删除process1,那么只有相应的行将从表中删除,如果customer1与另一个进程相关联,那么它将存储为不同的记录,因此不会被删除。