Как обработать сохранение сложного объекта в сервисном слое - PullRequest
0 голосов
/ 17 ноября 2018

У меня сложный объектный вызов объекта домена A. Он состоит из 3 других объектов.

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

  //somes primitive types fields
} 

У меня был служебный слой для объекта A.

public class serviceA {
  private RepositoryA repositoryForA;

  //CRUD operations on A
}

ObjectB, C, D имеют свой собственный репозиторий и не имеют сервисного уровня.Потому что у них нет бизнес-логики на данный момент.Они просто содержат информацию для A.

. Для сохранения AI нужно сохранить все составленные объекты B, C, D, а я должен внедрить репозиторий B, C, D в класс serviceA.

Так что я не думаю, что это хорошая идея, потому что для каждого нового составного объекта на ИИ потребуется вводить новый репозиторий в класс serviceA.Является ли мой объект сложным или должен быть выполнен таким образом?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Я в контексте Java и использую JPA / Hibernate.Поэтому, если я использую хорошие отношения между объектами, Hibernate должен сохранить все составные объекты.

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

0 голосов
/ 17 ноября 2018

Не простой вопрос. В любом случае, я делаю это просто, и я также предполагаю, что есть отношения между A и B, C и D. Поэтому я ожидаю, что сохранение A на самом деле ничего не значит без сохранения объектов, составляющих его, в этом случае сервисный уровень A должен заботиться также о его детях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...