2016-05-25 8 views
0
私は春データのSolrと勉強に問題が会った

です:configと春データSolrが、これは私のコンフィギュレーションクラス

@Configuration 
@EnableSolrRepositories(basePackages={"cn.likefund.solr.repository"},  multicoreSupport=true) 
public class SolrContext { 
static final String SOLR_HOST = "http://192.168.11.157:8080/solr"; 
    @Bean 
    public SolrClient solrClient() { 
    return new HttpSolrClient(SOLR_HOST); 
    } 
} 

、これが私のリポジトリです:

package cn.likefund.solr.repository; 
import java.util.List; 
import org.springframework.data.solr.repository.SolrCrudRepository; 
import cn.likefund.solr.model.Activity; 
public interface ActivityRepository extends SolrCrudRepository<Activity,   String>{ 
List<Activity> findByName(String name); 
} 

私が開始私は方法Fを削除すると、アプリケーションは、コンソールのメッセージは、この

error

ありますindByNameはリポジトリにあり、アプリケーションは問題なく起動しますが、私はちょうどfindByNameメソッドを使いたいと思っています。誰かがこの問題で何をすべきか知っていますか?ここ

アクティビティクラスです:

ので
@Entity 
@SolrDocument(solrCoreName ="core_activity") 
public class Activity implements Serializable{ 
    private static final long serialVersionUID = 1566434582540525979L; 
     @Id 
     @Field(value = "id") 
     private String id; 
     @Field(value = "CREATEDT") 
     private String createdt; 
     @Indexed 
     @Field(value = "NAME") 
     private String name; 
     public String getId() { 
      return id; 
     } 
     public void setId(String id) { 
      this.id = id; 
     } 
     public String getCreatedt() { 
      return createdt; 
     } 
     public void setCreatedt(String createdt) { 
      this.createdt = createdt; 
     } 
     public String getName() { 
      return name; 
     } 
     public void setName(String name) { 
      this.name = name; 
     } 
} 

答えて

0

、明らかにCrudRepositoryは作成されません。

  • findByNameを削除すると、手動でレポをクエリできますか? (ちょうど問題がSOLRスキーマではなくメソッドから来ていることを確認してください)

  • 注釈を明示的に設定するメソッドに注釈を付けることを試みましたか?何かのように

    @Query( "NAME:?0") リストfindByName(文字列名);

関連する問題