如何处理服务层中复杂对象的保存

时间:2018-11-17 16:50:07

标签: java architecture clean-architecture

我有一个复杂的对象域对象调用A。它由3个其他对象组成。

console.log(str.replace(/^bbb.*$/gm, '').replace(/(^[ \t]*\n)/gm, ""));

我有一个对象A的服务层。

public class A { 
  private B bObject;
  private C cObject;
  private D dObject;

  //somes primitive types fields
} 

对象B,C,D具有自己的存储库,并且没有服务层。因为他们目前没有商务逻辑。它们只包含有关A的信息。

对于保存A,我需要保存所有组成的对象B,C,D,并且必须将B,C,D存储库注入到serviceA类中。

所以我认为这不是一个好主意,对于A上的每个新组成对象,我都需要在serviceA类上注入一个新的存储库。 我的对象是复杂的对象还是必须通过这种方式完成?

2 个答案:

答案 0 :(得分:0)

这不是一个简单的问题。无论如何,我简单了一点,而且我还假设A与B,C和D之间存在关系。因此,我希望保存A在不保存组成它的对象的情况下并没有任何意义,在这种情况下,A的服务层应该在意也关于他的孩子。

答案 1 :(得分:0)

我在Java上下文中,并且使用JPA / Hibernate。因此,如果我使用对象之间的良好关系,Hibernate应该保存所有复合对象。

https://vladmihalcea.com/a-beginners-guide-to-jpa-and-hibernate-cascade-types/