1

以下查询将返回like匹配的第一个项目(实际上是任何旧项目)。

TypeQuery<Company> query = em.createQuery(
   "select c from Company c where c.name like ?1", Company.class);
query.setMaxResults(1);
query.setParameter(1, "%" + name + "%");
result = query.getSingleResult();

但是,我希望最佳匹配显示为我的单一结果。
这里 best 表示与给定的 差异最小的匹配name。我可以对这个查询应用
什么样的方法来实现这一点?order by

4

1 回答 1

1

如果您需要这样的搜索,也许您可​​以将 lucene 与 hibernate 一起使用?

请参阅文档http://docs.jboss.org/hibernate/search/3.3/reference/en-US/html_single/#search-query-lucene-api

我想这将是你所需要的。

另请查看https://groups.google.com/forum/?fromgroups=#!topic/ravendb/-L0LMAScJnA

于 2013-03-08T12:56:29.537 回答