首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Grails 3搜索Hibernate 5

用Grails 3搜索Hibernate 5
EN

Stack Overflow用户
提问于 2016-10-02 16:29:56
回答 3查看 780关注 0票数 2

我使用Grails 3.1.4,我希望使用Hibernate-搜索我的实体的全文搜索。

在我的build.gradle中,我包含了Hibernate 5和Hibernate搜索。

代码语言:javascript
复制
compile "org.hibernate:hibernate-core:5.0.9.Final"
compile "org.hibernate:hibernate-ehcache:5.0.9.Final"
compile "org.hibernate:hibernate-search-orm"

如果我将@Indexed添加到我的一个域类中,就会得到折叠错误:

代码语言:javascript
复制
ERROR org.springframework.boot.SpringApplication - Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:207)
    at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:687)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
    at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:55)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:365)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:354)
    at grails.boot.GrailsApp$run.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
    at com.myapp.Application.main(Application.groovy:8)

有没有办法让Hibernate搜索与Grails域类协同工作?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-04 16:40:40

巧合的是,我目前正在移植旧的Grails 2 Hibernate搜索插件,使其与Grails 3.1.x和Hibernate 5兼容。如果你想试一试的话,我刚刚完成了它的开发:

https://github.com/lgrignon/grails-hibernate-search-plugin

编辑

PR是合并的,我刚刚发表在上绑定,这是新的Grails 3平台插件分发。要尝试GrailsHibernateSearch2.0forGrails3.1.x/ GORM 5的新版本:添加以下存储库maven { url "http://idcapture.bintray.com/plugins" }

并将以下内容添加到依赖项compile("org.grails.plugins:hibernate-search:2.0")

它应起作用:)

希望能帮上忙!

票数 1
EN

Stack Overflow用户

发布于 2016-10-03 04:40:49

Grails 3.1.4已经包含了'build.gradle‘,这意味着您的GORM 5套房文件中的以下行可能是多余的:

代码语言:javascript
复制
compile "org.hibernate:hibernate-core:5.0.9.Final" 
compile "org.hibernate:hibernate-ehcache:5.0.9.Final"
compile "org.hibernate:hibernate-search-orm"

据我所知,通过使用Grails Hibernate搜索插件,hibernate搜索在Grails中应该运行得很好。

但是,如果您已经在使用Grails3.1.4,那么最简单的方法可能是使用GORM套房 (Grails对象-关系映射)。GORM支持对数据库的简单访问,保持代码的清晰性和可读性。

票数 0
EN

Stack Overflow用户

发布于 2016-10-05 09:54:48

如果您使用的是"org.hibernate: Hibernate -core:5.0.9.Final“,那么您需要获得Hibernate搜索:"org.hibernate:hibernate-search-orm:5.5.4.Final".的兼容版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39819130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档