java - 使用带注释的 Hibernate 配置 Compass

标签 java hibernate spring lucene compass-lucene

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

我发现我必须使用 @Searchable 和各种 @SearchableXXX 变体来注释我的实体,并通过 HibernateHelper.getCompass(sessionFactory) 在我的服务代码中访问 Compass。

我以 HibernateException 结束,它说“Compass 事件监听器未配置,请检查引用文档和应用程序的 hibernate.cfg.xml”。

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

有什么想法是我遗漏的,或者是入门的好资源吗?

最佳答案

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

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

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

是我还是 Compass 明显缺乏 Activity ?

关于java - 使用带注释的 Hibernate 配置 Compass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/261922/

相关文章:

java - 为什么 textPane.getDocument().getText() 返回空字符串?

java - Android:HTML 编码器

java - 执行线程是否通过同时执行 wait() 和 join() 进入 "waiting"状态?

java - 如何在 netbeans 7.4 中删除 hibernate 中的警告

java - hibernate 保存、 hibernate 回滚

java - Spring 高版本 HashMap 的 LinkedCaseInsensitive 映射转换问题

java - 我的编码中出现空指针异常问题

java - Hibernate Criteria API 与 JPQL

spring - 如何使用Spring ColumnMapRowMapper?

java - 使用宏的 intellij 质量重构