我有2个项目,employees
和data
。这些项目代表链接到我的数据库的实体。
每个员工都有一个链接到data
中的表的字段,因此我的employee
pom.xml具有数据依赖性。我的问题在于此处,每个数据都由员工插入,因此data
也依赖employees
。这导致双向依赖。
这可能在maven中吗?我对maven的理解是,这会引起问题。
项目employees
@Entity
@Table(name="employees", uniqueConstraints= {
@UniqueConstraint(columnNames="idEmployees"),
@UniqueConstraint(columnNames="idCardNumber"),
@UniqueConstraint(columnNames="niNumber")
})
public class Employee {
@Id
@GeneratedValue
@Column(unique=true, nullable=false, updatable=false)
private int idEmployees;
//other class variables
@ManyToOne(cascade=CascadeType.PERSIST, fetch=FetchType.LAZY)
@JoinColumn(name="niCategoryId", nullable=false, updatable=false)
private NIData niCategory;
//constructors getter and setters
}
data
项目
@Entity
@Table(name="nidata", uniqueConstraints= {
@UniqueConstraint(columnNames="idNiData")
})
public class NIData {
@Id
@GeneratedValue
@Column(unique=true, nullable=false, updatable=false)
private int idNiData;
//other class variables
@ManyToOne(cascade=CascadeType.PERSIST, fetch=FetchType.LAZY)
@JoinColumn(name="createdEmployeeId", nullable=false, updatable=false)
private Employee createdEmployee;
//constructors getter and setters
}
正如您所看到的,他们彼此依赖,但我希望他们在不同的项目中,因为他们属于不同的模式。另外,我计划添加其他模式,我可能不想在我正在设计的系统的每个部分中公开,但只是部分模式。
答案 0 :(得分:1)
将所有与实体相关的类放在单个Maven模块中会更有意义。这样,所有类都可以相互依赖。这也将集中在一个项目中维护的所有持久化类。
Maven确实不允许循环依赖,因为它不知道首先要构建哪个模块。