В моем проекте jHipster есть много таблиц, и для каждой из них создается интерфейс репозитория. Мне нужно реализовать мультитенантность,
поэтому я собираюсь добавить несколько методов, один из параметров которых DepartmentId, например:
@Repository
public interface ClientRepository extends JpaRepository<Client, Long>, JpaSpecificationExecutor<Client> {
@Query( value = "select * from client c where department_id in (select id from department where path like %?1%)" ,nativeQuery = true)
Page<Client> findAllBydepartmentId(@Param("departmentId") String departmentId, Pageable pageable) ;
@Query( value = "select * from client c where client_id = ?2 and department_id in (select id from department where path like %?1%)" ,nativeQuery = true)
Page<Client> findAllBydepartmentId(@Param("departmentId") String departmentId, @Param("clientId"), Pageable pageable);
@Query( value = "delete from client c where client_id = ?2 and department_id in (select id from department where path like %?1%)" ,nativeQuery = true)
Page<Client> findAllBydepartmentId(@Param("departmentId") String departmentId, @Param("clientId"), Pageable pageable);
Я должен сделать это для каждой сущности, так как избежать написания большого количества повторяющегося кода?