簡體   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