Java 关于条件的Hibernate搜索性能建议
我第一次使用Hibernate搜索,我有一些疑问。如果你能告诉我一些建议,我将不胜感激 我拥有以下实体:Java 关于条件的Hibernate搜索性能建议,java,performance,hibernate,hibernate-search,Java,Performance,Hibernate,Hibernate Search,我第一次使用Hibernate搜索,我有一些疑问。如果你能告诉我一些建议,我将不胜感激 我拥有以下实体: @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Field(name = FIELD_LASTNAME, analyze = Analyze.YES, index = Index.YES) private String na
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Field(name = FIELD_LASTNAME, analyze = Analyze.YES, index = Index.YES)
private String name;
private int age;
.....
因此,对于年龄为25岁的搜索用户,我会执行以下操作:
QueryBuilder qb = fullTextEntityManager.getSearchFactory()
.buildQueryBuilder().forEntity(User.class).get();
Query luceneQuery = qb.keyword().onFields("name").matching("Geor").createQuery();
Query jpaQuery = fullTextEntityManager
.createFullTextQuery(luceneQuery, User.class)
.setCriteriaQuery(fullTextEntityManager
.createCriteria(User.class)
.add(Restrictions.eq("user.age", 25)));
我的问题是:
我希望这能有所帮助。非常感谢您的回答。但是,您为什么说“Hibernate Search Lucene不应该与Hibernate ORM条件查询混合使用。这是不受支持的。”?在我的例子中,我使用的是标准,它是有效的。我正在得到结果。它不受支持,您可能会得到错误的结果。检查Hibernate搜索文档,它包含一个关于这一点的警告。