2016-11-12 2 views
0

Ich versuche, Spring-Data-Cassandra benutzerdefinierte Repository-Implementierung zu verwenden. Ich verwende spring-data-cassandra 1.5.M1. Das Problem ist, dass die benutzerdefinierte Implementierungsmethode nicht ausgeführt wird.Benutzerdefinierte Implementierung von Repositorys Spring-Data-Cassandra

Unten ist das Code-Snippet.

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 { 

} 

Das Treiberprogramm des gleichen unter

@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; 
    } 
} 

Wether Ich bin etwas fehlt?

Antwort

2

Umbenennungs JobRepositoryCustomImpl zu JobRepositoryImpl:

Hier ist ein Beispiel aus meinem Code:

public interface ProductRepository extends JpaRepository<Product, Long>, ProductRepositoryCustom { 

} 



interface ProductRepositoryCustom { 
    public String anyFunction(); 
} 

@Repository 
class ProductRepositoryImpl implements ProductRepositoryCustom { 
    @Override 
    public String anyFunction(){ 
     return "Hello"; 
    } 
} 
+2

'@ Repository' auf' ProductRepositoryCustom' ist nicht erforderlich. Außerdem ist es die richtige Antwort. – mp911de

Verwandte Themen