在 Play 中为 Scala 实现 Hibernate

Posted

技术标签:

【中文标题】在 Play 中为 Scala 实现 Hibernate【英文标题】:Implementing Hibernate in Play for Scala 【发布时间】:2017-07-21 17:58:14 【问题描述】:

我正在尝试将 Hibernate 集成到 Play for Scala 中。我向conf/META-INF 添加了一个文件hibernate.cfg.xml,但显然Play 没有找到它,因为我收到了错误:

play.api.http.HttpErrorHandlerExceptions$$anon$1:执行 异常[[ConfigurationException:找不到cfg.xml资源 [休眠.cfg.xml]]] 在 play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:293) 在 play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:220) 在 play.api.GlobalSettings$class.onError(GlobalSettings.scala:160) 在 play.api.DefaultGlobal$.onError(GlobalSettings.scala:188) 在 play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:100) 在 play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:100)

这是hibernate.cfg.xml文件,我应该把它放在哪里?

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.driver_class">com.sap.db.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:sap://10.194.19.20:39013</property>
    <property name="hibernate.connection.username">uuu</property>
    <property name="hibernate.connection.password">xxx</property>
    <property name="hibernate.dialect">org.hibernate.dialect.HANAColumnStoreDialect</property>
  </session-factory>
</hibernate-configuration>

【问题讨论】:

【参考方案1】:

将 xml 文件添加到 conf,而不是 conf/META-INF

【讨论】:

以上是关于在 Play 中为 Scala 实现 Hibernate的主要内容,如果未能解决你的问题,请参考以下文章

在 Play Framework 2.4 中为 Scala 实现 CORS

在 Play 2.1 和 Scala 中为文件上传编写测试用例

play for scala 实现SessionFilter 过滤未登录用户跳转到登录页面

Play 2.2:使用 Play Caching (Scala) 对代码进行单元测试时出现问题

Scala Play WebSockets

如何使用`flatMap`和`map`填充Play框架+ Scala上的`list`?