0

私は1つのSpring 3.2 webappを開発しています。誰かがこれで私を助けてくれることを願っています。

「サイト」データベーステーブルの「名前」フィールドに「テスト」という単語が含まれるすべてのサイトを取得しようとしました。

サイト テーブルの行:

id:1 名前:「テスト」...

Site.class

@Entity
@Indexed
@Spatial
@Table(name = "site")
public class Site implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private int id;
    @NotNull
    @Field(index = Index.YES, analyze = Analyze.YES, store = Store.NO)
    private String name;

...
}

DAO クラス

@Override
public List<Site> getSite(String word) {

    //word = "test" at this point on debug.

    QueryBuilder builder = Search.getFullTextSession(this.getCurrentSession()).getSearchFactory()
            .buildQueryBuilder().forEntity(Site.class).get();

    org.apache.lucene.search.Query luceneQuery = builder.keyword().onField("name").matching(word).createQuery();

    org.hibernate.Query hibQuery = Search.getFullTextSession(this.getCurrentSession()).createFullTextQuery(luceneQuery, Site.class);

    return hibQuery.list();
}

getCurrentSession() は、SessionFactory Spring Bean によって返されるセッションです。

問題は、このメソッドが常に null リストを返すことです。

4

1 に答える 1