Grails 2.4.4 +可搜索:0.6.9运行时问题

时间:2014-11-20 22:01:28

标签: hibernate grails searchable searchable-plugin

当尝试在Grails 2.4.4应用程序上添加可搜索的:0.6.9(或更小的)时,我得到了hibernate4引发的异常,但这只发生在我添加" 静态搜索时= true "到我的域类。

考虑到我的BuildConfig.groovy看起来像这样:

repositories {
    inherits true // Whether to inherit repository definitions from plugins

    grailsPlugins()
    grailsHome()
    mavenLocal()
    grailsCentral()
    mavenCentral()

    mavenRepo "https://repo.grails.org/grails/core"
    mavenRepo "https://oss.sonatype.org/content/repositories/releases/"
    mavenRepo "http://repo.spring.io/milestone"

}

dependencies {

    compile "org.compass-project:compass:2.2.1"
    compile('org.apache.lucene:lucene-highlighter:4.10.2',
              'org.apache.lucene:lucene-spellchecker:3.6.2')

    test "org.grails:grails-datastore-test-support:1.0.2-grails-2.4"
    compile "javax.validation:validation-api:1.1.0.Final"
    runtime "org.hibernate:hibernate-validator:5.0.3.Final"
}

plugins {
    // plugins for the build system only
    build ":tomcat:7.0.55"

    // plugins for the compile step
    compile ":scaffolding:2.1.2"
    compile ':cache:1.1.8'
    compile ":asset-pipeline:1.9.9"

    runtime ":hibernate4:4.3.6.1" // or ":hibernate:3.6.10.18"
    runtime ":database-migration:1.4.0"
    runtime ":jquery:1.11.1"
    runtime ":searchable:0.6.9"
}

我得到了这个例外:

错误context.GrailsContextLoaderListener - 初始化应用程序时出错:org / hibernate / impl / SessionFactoryImpl 消息:org / hibernate / impl / SessionFactoryImpl     线|方法 - >> 95 |注入生命周期org.compass.gps.device.hibernate.lifecycle.DefaultHibernateEntityLifecycleInjector 147 doStart in org.compass.gps.device.hibernate.HibernateGpsDevice

有人知道如何让事情有效吗?

2 个答案:

答案 0 :(得分:1)

我认为可搜索的插件不适用于Hibernate 4,但你没有声明对任何版本的Hibernate的依赖,这肯定是行不通的。

在我的Grails 2.4.4应用程序中,我使用可搜索的以下版本的Hibernate插件

plugins {
    runtime ':hibernate:3.6.10.18'
    // other plugins
}

答案 1 :(得分:0)

显然,这篇文章标题中提到的插件并不混合! GG格局正在迅速变化,可搜索的0.6.9不会与Hibernate 4握手。

解决方案?我现在正在考虑ElasticSearch - 新保养(事实上是昨天)并且与新插件混合得很好。它是否具有Searchable所做的功能,这意味着最终会出现一个搜索字段,可用于从我的可搜索域类和/或可搜索的属性中检索和显示记录?会发现并报告。