我一直在尝试创建一个spring boot应用程序。在我的应用程序中,我想添加一些自定义方法来保存数据,而不是使用默认的保存方法。
我的应用程序入口点是这样的:
@Configuration
@ComponentScan
@EnableJpaRepositories(repositoryImplementationPostfix = "CustomImpl")
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration
@PropertySource("application.properties")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
我已将此行repositoryImplementationPostfix更改为甚至Impl但是,它不起作用。
我的CrudRepository
@RepositoryRestResource
public interface TaRepository extends CrudRepository<Ta, Integer> ,TestRepository{
List<Ta> findByName(@Param("name") String name);
}
我的自定义存储库:
public interface TestRepository {
public void myCustomMethod(TestDto dto);
}
我的自定义存储库Impl
public class TestRepositoryCustomImpl implements TestRepository{
@PersistenceContext
private EntityManager em;
@Override
public void myCustomMethod(TestDto model){
}
注意:
如果我将CrudRepostory从提到的更改为:
@RepositoryRestResource
public interface TaRepository extends CrudRepository<Ta, Integer> {
List<Ta> findByName(@Param("name") String name);
}
一切正常。但不是自定义方法实现。
答案 0 :(得分:0)
对于Spring Data JPA @Repository
或@RepositoryRestResource
,您永远不需要实现自定义接口。对于任何简单的查询,您可以创建任何类型的方法,请按照简单的指南。
http://docs.spring.io/spring-data/jpa/docs/1.4.1.RELEASE/reference/html/jpa.repositories.html
对于复杂查询,您可以使用JpaSpecificationExecutor。