のサービス層から別のエンティティのリポジトリを呼び出す2つのエンティティがあります。招待とグループは、エンティティ
ユーザーがグループに別のユーザーを招待することができます。招待レストAPIエンドポイントのコントローラーと、ビジネスロジックを実装するサービスレイヤーがあります。
方法を受け入れるが、招待サービスレイヤで定義されています
public void accept(long invitationId, String username) {
Invitation invitation = this.loadById(invitationId);
User user = userService.loadByUsername(username);
validateAccessToInvitation(invitation, user);
Group group = invitation.getGroup();
group.addMember(user);
invitationRepository.delete(invitation);
// groupRepository.save(group);
}
私は別のエンティティリポジトリ(ここでは:group repository
)にアクセスすることをお勧めかどうかを知りたいのですが、いくつかのエンティティのサービス層(ここで:invitation
サービス層)。
1つのオプションは、サービスレイヤーgroup
にsave
メソッドを追加することです。しかし、それはgroupRepository
のセーブだけを呼び出すでしょう。それはどういうわけか、それは良いデザインではないはずです。
サービスが複数のリポジトリにアクセスするとうまくいくと思います。ビジネスロジックの一部なので、一緒に使用してください。 – StanislavL
ここでベストプラクティスは何ですか? –