1

ResultTransformerを使用するためのHibernateSearchのドキュメントには、次の例があります。

org.hibernate.search.FullTextQuery query = 
    s.createFullTextQuery( luceneQuery, Book.class );
query.setProjection( "title", "mainAuthor.name" );
query.setResultTransformer( 
    new StaticAliasToBeanResultTransformer( 
        BookView.class, 
        "title", 
        "author" ) 
);
List<BookView> results = (List<BookView>) query.list();
for(BookView view : results) {
    log.info( "Book: " + view.getTitle() + ", " + view.getAuthor() );
}

ただし、StaticAliasToBeanResultTransformerクラスはHibernateコアjarに存在しません。

これが私がまだ特定できていない別のクラスであると思われるかどうか誰かが知っていますか?それとも、私が含めていない別のHibernateプロジェクトに存在しますか?

プロパティとフィールドの名前が同じではないため、インデックス付きフィールドを「BookView」Beanのプロパティにマッピングするというこのアイデアを実現する必要があります。Hibernate4.1.8とHibernateSearch4.1.1を使用しています

4

2 に答える 2

3

そうです、そのようなクラスはありません。https://forum.hibernate.org/viewtopic.php?f=9&t=1004608も参照してください。org.hibernate.transform.ResultTransformerを実装して、独自のトランスフォーマーを作成するだけです。

于 2012-12-09T15:50:56.880 に答える
1

AFAIKHibernateコードベースにはそのようなクラスはありません。ある日、サンプルの一部だったと思いますが、それ以降はどこにも見つかりません。

最も簡単な方法は、独自の実装を作成することです。

于 2012-12-08T21:40:05.537 に答える