我在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
}
}
}
即使工厂关闭,我仍然会收到施法错误。这段代码出了什么问题?