Gradle EBean增强 - 实体未增强

时间:2014-04-02 21:06:31

标签: java jpa gradle persistence ebean

我已经谷歌搜索了好几个小时,也许我对它的理解不够真实,也许我的谷歌搜索才能在过去的一天里有所下降。

我已经从2.8.1升级到EbeanORM 3.2.5,最终意识到他们不断改进工件名称。话虽如此,我收到了增强错误。

  

引起:javax.persistence.PersistenceException:实体类型类com.bloomhealthco.fixtures.entities.ProductFamilyProductGroupRelationEntity不是增强的实体bean。 Ebean

不再支持子类化

我正在使用Gradle,因此Maven修复程序并不适合我。我找到了avaje-agentloader并尝试实现:

buildscript{
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.avaje:avaje-agentloader:1.1.1"
    }
}

import org.avaje.agentloader.AgentLoader

task fixturesTests(type: Test) {
    description "Executes all fixtures tests."
    AgentLoader.loadAgentFromClasspath("avaje-ebeanorm-agent","debug=1");

    outputs.upToDateWhen { false }
}

我也试过把它放在我的测试设置中。目前,我只是按预期测试实体。

import org.avaje.agentloader.AgentLoader

class EntitySpec extends Specification {

    setupSpec() {
        AgentLoader.loadAgentFromClasspath("avaje-ebeanorm-agent","debug=1");
    }

    .........
    .........
    .........
}

我是不是正确创建了对代理加载器的引用,还是我甚至没有在正确的页面上?

我也不太了解增强功能。

1 个答案:

答案 0 :(得分:-1)

我认为你错过了一两个依赖。我的依赖块看起来如下:

dependencies {
    compile 'org.avaje.ebeanorm:avaje-ebeanorm:4.1.4'
    compile 'org.avaje:avaje-agentloader:1.1.1'
    compile 'org.avaje.ebeanorm:avaje-ebeanorm-agent:4.1.5'
}

看起来你有代理加载程序库,但我没有看到代理库。您可以尝试添加它并查看异常是否消失。