1

使用ResultTransformer的 Hibernate Search 文档提供了以下示例:

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 中的属性的想法,因为我的属性和字段的名称不同。我正在使用 Hibernate 4.1.8 和 Hibernate Search 4.1.1

4

2 回答 2

3

Right, there is no such class. See also https://forum.hibernate.org/viewtopic.php?f=9&t=1004608. Just write your own transformer by implementing org.hibernate.transform.ResultTransformer.

于 2012-12-09T15:50:56.880 回答
1

AFAIK 在 Hibernate 代码库中没有这样的类。我相信有一天它是样本的一部分,但从那以后就找不到了。

最简单的方法是编写自己的实现。

于 2012-12-08T21:40:05.537 回答