休眠搜索行为?

Hibernate-search behavior?

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

@MappedSuperclass
public static class Model{

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

private boolean isDeleted;

}

索引 class 是:

@Entity
@Table("USERS")
@Indexed
public class ProductModel extends Model{

@Field
private String name;

//getters & setters

}

嗯,当我对 ProductModel 进行研究时,我得到了标志 isDeleted 的值,但它没有用 @Field 注释。

我在问这是否是正常行为,Hibernate-search 索引整个对象还是从数据库中获取丢失的数据,我需要一个解释请这种行为。

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

您观察到 Hibernate Search 在执行搜索后将对象与数据库的信息混合在一起。这是使用 Hibernate Search 的主要兴趣之一:返回的对象是托管实体。