我有一个简单的问题,因为今天这是我第一次见到并使用Hibernate Search
。有人可以解释一下使用Hibernate Search
和JPA
注释的冒险行为是什么,使用它而不是Spring Data
(我的意思是CRUD / JPA存储库)是否有意义?什么时候Hibernate Search
最有利可图?
E.g。我有简单的SpringMVC
webapp,包含用户和事件。用户应该能够使用排序选项查看页面上的事件列表。
他应该能够通过给定的“字段”搜索特定事件。在这种情况下,我应该使用CRUD / JPA repos还是使用Hib Search?
提前谢谢!
答案 0 :(得分:3)
正如您在documentation中看到的那样,Hibernate Search主要用于全文搜索,集群和索引结果而不仅仅是获取数据库表自然提供Spring data
,HQL
和Criteria
API ......
因此,在这种情况下,Hibernate Search
用于高性能文本搜索,并扮演文本搜索引擎的角色(Lucene,Sphinx ...)。
在您的情况下:
因此,如果您正在开发一个基本的Web应用程序,您只需要从数据库中查询某些实体,那么您应该只使用Spring data
,JPQL
,核心Hibernate HQL
或{{ 1}} API。
答案 1 :(得分:1)
有很多好文章。可以找到一个示例here。但是,为了非链接答案,如果您的大多数搜索都是全文(模糊搜索,通配符,地理空间等),您应该使用Hibernate搜索。否则,如果您对数据库连接,排序等更感兴趣。只需使用SQL。