【问题标题】:Custom Implementation of Repositories Spring-Data-Cassandra存储库的自定义实现 Spring-Data-Cassandra
【发布时间】:2017-03-26 10:03:51
【问题描述】:

我正在尝试使用 spring-data-cassandra 自定义存储库实现。我正在使用 spring-data-cassandra 1.5.M1。问题是自定义实现方法没有被执行。

下面是代码sn-p。

public interface JobRepositoryCustom{
   public Job getJobById(String id );
}

@Component
public class JobRepositoryCustomImpl implements JobRepositoryCustom{
    @Autowired
    CassandraOperations template; 

    public Job getJobById(String job ) {


        System.out.println("Some custom implementation");
        return job;
    }
}

public interface JobRepository extends TypedIdCassandraRepository<Job,String>, JobRepositoryCustom {

}

同样的驱动程序如下

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class);
    }
    @Bean
    public CommandLineRunner demo( JobRepository repository) {
        Job job = new Job();
        job.setId("1817086421");
        job.setDescription("My job2 description");
        job.setOneMoreField("Just a new field");
        job.setTitle("Technical  Engineer job");
        repository.save(job);
        //The getJobById is custom method declared in JobRepositoryCustom
        repository.getJobById("My String");
        System.out.println("This after the  job");
        System.out.println("repository = [" + repository+ "]");
        return  null;
    }
}

我是否遗漏了什么?

【问题讨论】:

    标签: java spring spring-data spring-data-cassandra


    【解决方案1】:

    将 JobRepositoryCustomImpl 重命名为 JobRepositoryImpl:

    这是我的代码中的一个示例:

    public interface ProductRepository extends JpaRepository<Product, Long>, ProductRepositoryCustom {
    
    }
    
    
    
    interface ProductRepositoryCustom {
        public String anyFunction();
    }
    
    @Repository
    class ProductRepositoryImpl implements ProductRepositoryCustom {
        @Override
        public String anyFunction(){
             return "Hello";
        }
    }
    

    【讨论】:

    • @Repository on ProductRepositoryCustom 不是必需的。除此之外,这是正确的答案。
    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 2018-10-06
    • 2017-09-19
    • 2015-07-10
    • 2015-03-15
    相关资源
    最近更新 更多