Play + Hibernate

时间:2017-09-05 03:54:49

标签: scala hibernate playframework playframework-2.0

我在Play for Scala中使用Hibernate,每当我触摸代码并重新播放Play时,我都会收到以下错误:

  

异常:readMany中失败:admin.manage.BankHib不能   施放到admin.manage.BankHib

由于错误说该类不能自行转换,我认为问题是类加载器是不同的。

这是我启动和关闭Hibernate会话工厂的方法:

object HibernateUtil {

   val sessionFactory = buildSessionFactory

   def buildSessionFactory = {
      try {
            new Configuration().configure("hibernate.cfg.xml").buildSessionFactory
      } 
      catch {case ex:Throwable => 
                        println("SessionFactory creation failed." + ex);
                        throw new ExceptionInInitializerError(ex);
      }
  }

  def shutdown  {
    sessionFactory.close
  }
}

播放重启时运行以下单身:

@Singleton
class HibernateService @Inject()(lifecycle: ApplicationLifecycle) {

      lifecycle.addStopHook { () =>
        Future.successful{
          println("Hibernate sessions shutdown")
          HibernateUtil.shutdown
        }
      } 
}

即使工厂关闭,我仍然会收到施法错误。这段代码出了什么问题?

0 个答案:

没有答案