Hibernate Search Projection - StaticAliasToBeanResultTransformer

时间:2012-12-08 16:52:04

标签: java hibernate hibernate-search

使用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() );
}

但是,Hibernate核心jar中不存在StaticAliasToBeanResultTransformer类。

有谁知道这是否应该是一个我还无法识别的不同类?或者它是否存在于我未包含的另一个Hibernate项目中?

我需要完成将索引字段映射到我的“BookView”bean中的属性的想法,因为我的属性和字段的名称不相同。我正在使用Hibernate 4.1.8和Hibernate Search 4.1.1

2 个答案:

答案 0 :(得分:3)

是的,没有这样的课程。另见https://forum.hibernate.org/viewtopic.php?f=9&t=1004608。只需通过实现 org.hibernate.transform.ResultTransformer 编写自己的变换器。

答案 1 :(得分:1)

AFAIK在Hibernate代码库中没有这样的类。我相信它有一天是样品的一部分,但从那时起就无处可寻。

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