繁体   English   中英

使用带注释的休眠配置指南针

[英]Configuring Compass with Annotated Hibernate

我正在将Hibernate用于基于Java的Web应用程序,并希望通过Compass添加全文搜索。 指南针本应支持这一点,但未能提供任何有用的入门指南。

我可以弄清楚,我必须用@Searchable和各种@SearchableXXX变体注释我的实体,并通过HibernateHelper.getCompass(s​​essionFactory)访问服务代码中的Compass。

我最后得到一个HibernateException,说“未配置指南针事件监听器,请检查参考文档和应用程序的hibernate.cfg.xml”。

当我使用Spring的AnnotationSessionFactoryBean配置Hibernate时, 参考文档再次提示和hibernate.cfg.xml。 对于这种情况,文档将提及:“如果使用了Hibernate Annotations或Hibernate EntityManager(JPA),只需将Compass jar文件拖放到类路径中即可启用它(确保您在类路径中没有Hibernate Search,因为它使用了相同的事件类别名称)。” 那对我不起作用。

有什么想法我缺少什么或入门的好资源吗?

我想知道为什么您选择Compass进入休眠状态。 我们研究了Compass和Hibernate-Search,并选择了后者,因为它具有出色的集成性。

您可以以与使用HQL或Critera创建SQL数据库完全相同的方式查询测试索引。

如果您使用的是iBatis或JDBC,那么Compass当然更合适。 休眠搜索更适合JTA。

是我还是Compass明显缺乏活动?

审查的最佳资源是检查指南针分布(具有依赖项)随附的petclinic示例。 如果默认情况下未配置监听器,则必须设置EventListener。

Compass有两种与Hibernate集成的模式。 嵌入式模式基本上意味着您需要将Compass jar放入应用程序中(并且可能需要配置事件侦听器,具体取决于Hibernate版本),然后至少需要在配置Compass的Hibernate cfg文件中进行属性配置索引位置。 这是更多信息链接

另一个选择是通过创建CompassGps和Hibernate设备(由Hibernate SessionFactory初始化),将Compass配置为与Hibernate外部集成。 Hibernate设备将自动向Hibernate注册相关的侦听器。 更多信息可以在这里找到链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM