【发布时间】:2014-04-02 21:06:30
【问题描述】:
我已经在谷歌上搜索了几个小时,也许我对它的理解还不够真实地描述它,也许我的谷歌搜索天赋在过去一天已经下降了。
我已经从 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");
}
.........
.........
.........
}
我没有正确创建对代理加载器的引用,还是我什至不在正确的页面上?
我也不太明白什么是增强。
【问题讨论】:
-
自 4 月以来有任何更新吗?我也有同样的问题。
-
我没有。我只是使用了不需要增强实体的旧版 eBean。
-
Gradle 插件在运行测试之前不会增强。
标签: java jpa gradle persistence ebean