Hibernate Search 4.1 CR1 发布

红薯
 红薯
发布于 2012年03月01日
收藏 1

Hibernate Search 4.1 CR1 了,这个版本应该是 4.1 正式版之前的最后一个版本。

主要的改进是支持拦截索引操作和更改,同时引入一个我们在术语上称为“软删除”的特性。

示例代码:

/**
 * Only index blog when it is in published state
 * @author Emmanuel Bernard 
 */
public class IndexWhenPublishedInterceptor implements EntityIndexingInterceptor {
    @Override
    public IndexingOverride onAdd(Blog entity) {
        if (entity.getStatus() == BlogStatus.PUBLISHED) {
            return IndexingOverride.APPLY_DEFAULT;
        }
        return IndexingOverride.SKIP;
    }
 
    @Override
    public IndexingOverride onUpdate(Blog entity) {
        if (entity.getStatus() == BlogStatus.PUBLISHED) {
            return IndexingOverride.UPDATE;
        }
        return IndexingOverride.REMOVE;
    }
 
    @Override
    public IndexingOverride onDelete(Blog entity) {
        return IndexingOverride.APPLY_DEFAULT;
    }
 
    @Override
    public IndexingOverride onCollectionUpdate(Blog entity) {
        return onUpdate(entity);
    }
}
view sourceprint?
@Entity
@Indexed(interceptor=IndexWhenPublishedInterceptor.class)
public class Blog {
    @Id
    @GeneratedValue
    public Integer getId() { return id; }
    public void setId(Integer id) {  this.id = id; }
    private Integer id;
 
    @Field
    public String getTitle() { return title; }
    public void setTitle(String title) {  this.title = title; }
    private String title;
 
    public BlogStatus getStatus() { return status; }
    public void setStatus(BlogStatus status) {  this.status = status; }
    private BlogStatus status;
 
    [...]
}

发行说明:http://in.relation.to/Bloggers/HibernateSearch41CR1SoftDeletes

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Hibernate Search 4.1 CR1 发布
加载中

最新评论(1

返回顶部
顶部