如何添加自定义方法所有服务弹簧数据

时间:2017-05-16 21:22:00

标签: java spring spring-data

我为我的所有存储库定制了一个存储库,子项具有相同的方法。代码位于存储库实现之下。

此界面:

 @NoRepositoryBean
 public interface BaseMyRepository<T, ID extends Serializable> extends JpaRepository<T, ID>{

     List<T> findCustomNativeQuery(String sqlQuery);
 }

此实施类:

 public class BaseMyRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRepository<T, ID> implements BaseMyRepository<T, ID>{

     private final EntityManager entityManager;

     public BaseMyRepositoryImpl(JpaEntityInformation entityInformation, EntityManager entityManager){
         super(entityInformation, entityManager);
         this.entityManager = entityManager;
     }

     @Transactional
     @Override
     public List<T> findCustomNativeQuery(String sqlQuery) {
         List<T> lista = entityManager.createNativeQuery(sqlQuery, this.getDomainClass()).getResultList();

         return lista;
     }


 }

这是我的资料库:

 public interface MyRepository extends BaseMyRepository<SmaempreEntity, Integer>{

 }

现在我需要知道是否可以举例说明以下代码:

 @Service
 @Transactional
 public class MyBaseService<R extends BaseMyRepository, E> {

     @Autowired
     private R;

     public List<E> findAll() {
         return R.findAll();
     }

    public List<E> findCustomNativeQuery(String sqlQuery) {
         return R.findCustomNativeQuery(sqlQuery);
     }
 }


 public class MyService extends MyBaseService<MyRepository, MyEntity> {


 }

0 个答案:

没有答案