Java Hibernate项目中Pojo的循环依赖性
我喜欢典型的hibernate pojo类外观Java Hibernate项目中Pojo的循环依赖性,java,spring,hibernate,oop,pojo,Java,Spring,Hibernate,Oop,Pojo,我喜欢典型的hibernate pojo类外观 public class User { private String username; . . . private Address address; } public classs Address { private String line1 . . . private User user; } i、 e 1-1依赖性意味着一个用户有一个地址,反之亦然,一
public class User {
private String username;
.
.
.
private Address address;
}
public classs Address {
private String line1
.
.
.
private User user;
}
i、 e 1-1依赖性意味着一个用户有一个地址,反之亦然,一个地址属于一个用户
现在,这种通过组合表达的依赖性很难模块化
当项目变大时,我希望使用maven的多模块依赖关系,并将POJO/域对象拆分到不同的模块/项目中
但这会导致循环依赖,而且我们确实希望所有的类都是相互关联的
因为我们在hibernate的orm中使用它们,所以我们需要它们严格地相互组合
有什么建议我们可以把这些分开
1.用户模块
2.地址模块
允许我只使用一个必需的
我读了一些帖子,其中建议使用模板/接口,但我怀疑它是否能在幕后与hibernate配合使用。好吧,我找到了一个答案,可以改变依赖关系,使其不再是双向的,而是尽可能地是单向的 与上述情况一样— 我们需要从用户访问地址,以显示用户的地址,但我们很少有需要从地址获取用户的业务场景 i、 e使用地址pogo将user.id保存为整数,而不是在地址中包含用户对象
Address {
User user
...
....
}
Adress {
Integer userid
....
....
}
现在,用户模块依赖于地址,但地址不依赖于用户。-我发现:)-可能正确吗?