我有一个索引实体,如下所示:
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>
答案 0 :(得分:1)
Hibernate Search仅在索引中存储您明确声明的字段(更确切地说,它默认为索引,您可以通过在@Field注释中添加store选项来让Hibernate Search存储它。)
您观察到的是,Hibernate Search在执行搜索后使用数据库的信息为对象提供水分。这是使用Hibernate Search的主要兴趣之一:返回的对象是托管实体。