Play 2.5.3无法在应用程序启动时使用JPAApi.withTransactional

时间:2016-05-13 11:05:08

标签: playframework-2.5

我正在使用Play的2.5.3。我一直在尝试将初始数据写入我的数据库,但它崩溃了“没有启动应用程序”和“尝试用@ play.jpa.Transactional注释”错误。以前,我使用2.4.6,它工作正常。我检查了migration guide。但是我找不到答案。

我使用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
         });
      }
  }

}

0 个答案:

没有答案