我发现了BeanPersistListener我想注册到我的一些模型,但我没有从 Ebean 或 PlayFramework 找到任何有关如何集成它的文档。
来自文档:
A BeanPersistListener is either found automatically via class path search or can be added programmatically via ServerConfiguration.addEntity().
显然,它不会自动找到(我在实现的方法中添加了一些Logger.info
,但没有显示任何内容),所以我想通过 ServerConfiguration 添加它,但是如何添加呢?哪里?
我也怀疑是版本问题。据我所知,BeanPersistListener 来自 Ebean 2.6.0,但我找不到正在运行的 Ebean PlayFramework 版本(我使用的是 2.0.4)。
最佳答案
First Play 2.0.4 使用 Ebean 版本 2.7.3 [1]
为了注册您的监听器,您可以尝试使用 ServerConfigStartup,如 documentation 所示。 :
package models;
import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebean.event.ServerConfigStartup;
import com.avaje.ebean.event.BeanPersistListener;
public class MyServerConfigStartup implements ServerConfigStartup {
@Override
public void onStart(ServerConfig serverConfig) {
serverConfig.add(new BeanPersistListener() {
....
});
}
}
我从未测试过,我认为值得一试:-)
评论更新:
您需要将这些类放在 models
包或 models
包的子包下,以便 Ebean 可以找到它们。
关于playframework-2.0 - PlayFramework,如何注册一个BeanPersistListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13847063/