Hibernate搜索行为?

时间:2016-06-05 09:16:52

标签: java hibernate hibernate-search

我有一个索引实体,如下所示:

adb shell "set "ps | grep android.process.media"; kill -9 $2"

并且索引类是:

@MappedSuperclass
public static class Model{

@Id
@GeneratedValue(strategy=GenerationType.Identity)
private Integer id;

private boolean isDeleted;

}

好吧,当我对@Entity @Table("USERS") @Indexed public class ProductModel extends Model{ @Field private String name; //getters & setters } 进行研究时,我得到了标记ProductModel的值,而未使用isDeleted进行注释。

我在问这是不是正常的行为, Hibernate-search 索引整个对象还是从数据库中获取丢失的数据,我需要对此行为进行解释。< / p>

1 个答案:

答案 0 :(得分:1)

Hibernate Search仅在索引中存储您明确声明的字段(更确切地说,它默认为索引,您可以通过在@Field注释中添加store选项来让Hibernate Search存储它。)

您观察到的是,Hibernate Search在执行搜索后使用数据库的信息为对象提供水分。这是使用Hibernate Search的主要兴趣之一:返回的对象是托管实体。