Maven 2项目相互依赖

时间:2014-09-15 17:44:47

标签: java maven

我有2个项目,employeesdata。这些项目代表链接到我的数据库的实体。

每个员工都有一个链接到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
}

正如您所看到的,他们彼此依赖,但我希望他们在不同的项目中,因为他们属于不同的模式。另外,我计划添加其他模式,我可能不想在我正在设计的系统的每个部分中公开,但只是部分模式。

1 个答案:

答案 0 :(得分:1)

将所有与实体相关的类放在单个Maven模块中会更有意义。这样,所有类都可以相互依赖。这也将集中在一个项目中维护的所有持久化类。

Maven确实不允许循环依赖,因为它不知道首先要构建哪个模块。