我正在使用 Play 的 2.5.3。我一直在尝试将初始数据写入我的数据库,但它因“没有启动的应用程序”和“尝试使用 @play.jpa.Transactional 注释”错误而崩溃。以前,我使用的是 2.4.6,它运行良好。我检查了迁移指南。但我没有找到我的答案。
我使用AbstractModule
该类来创建自己的Module
. 重写configure()
抽象方法。在该方法中,我将我的静态内部类绑定为EagerSingleton
. 它注入所有必需的变量。在这个类中,我想用jpa.withTransactional()
. 但是当我想进行 jpa 交互时仍然会出现异常。
我错过了什么?
public class ApplicationModule extends AbstractModule {
@Override
public void configure() {
bind(ApplicationInitializer.class).asEagerSingleton();
}
private static class ApplicationInitializer {
@Inject
public ApplicationInitializer(JPAApi jpa) {
Logger.info("Application init...");
jpa.withTransaction(() -> {
//... database interactions
});
}
}
}