Ebean增强忽略模型

Ebean enhancement ignores a model

我们正在使用 avaje-agentloader 来增强我们的 ebean。所有的 ebean 都在同一个包中。我们在我们的项目中包括加载器、代理和基础 ebean 库(通过 sbt):

"org.avaje" % "avaje-agentloader" % "1.1.2",
"org.avaje.ebeanorm" % "avaje-ebeanorm" % "4.5.5",
"org.avaje.ebeanorm" % "avaje-ebeanorm-agent" % "4.5.2",

但是,当加载程序 运行 进行增强时,它会跳过一个 ebean。

每个 ebean 都用 @Entity 注释并扩展 com.avaje.ebean.Model。增强的和没有增强的似乎没有区别。没有额外的包含或扩展等。

基本上,我想知道过去是否有人 运行 遇到过这个问题,或者有任何见解。

我们尝试过的事情:

注意:如果我们通过命令行上的代理加载程序或通过 maven 插件或 sbt 使用 ebean 代理,它就可以工作。

好的,所以我在 Ebean group on Google Groups as well, and Rob Bygrave responded, explaining a few things. (read his reply here)

上发布了这个
  1. serverConfig.setXXX与ebean增强无关
  2. 似乎在代理加载之前加载了 bean。

他是对的,确实,有问题的 model/bean 是在代理之前加载的。所以我们正在追查原因。

因此,问题是代理不会增强已经由 ClassLoader 加载的 beans(有道理)。他确实提到我们可以“更改 Ebean 代理以也支持 'class redefinition'”。