休眠 3.2.5 与 Play Framework 1.2.5

Posted

技术标签:

【中文标题】休眠 3.2.5 与 Play Framework 1.2.5【英文标题】:Hibernate 3.2.5 with Play Framework 1.2.5 【发布时间】:2013-01-25 02:45:37 【问题描述】:

我正在尝试将 Hibernate 3.2.5 与 Play 框架 1.2.5 一起使用

在 Hibernate 中,我有两个文件:

1) cfg.xml 文件(包含数据库配置详细信息以及一些附加属性 2)hbm.xml文件(包含java bean和db表的映射关系

为了连接到 oracle 10g db,我在 application.config 文件中提供了这样的 db 详细信息,当我启动服务器时连接也成功:

db.url=jdbc:oracle:thin:@localhost:1521/orcl
db.driver=oracle.jdbc.OracleDriver
db.user=system
db.pass=tiger

我想知道我将把 hbm.xml 文件(用于映射详细信息)和 cfg.xml 文件用于除 db connecion 详细信息之外的其余属性放在哪里?

请让我知道这件事。

问候,

【问题讨论】:

【参考方案1】:

从应用的根目录开始:

hibernate.cfg.xml 必须放在app 目录中 定义模型类的映射文件(hbm 文件),通常在 app/models/ 目录中

在您的hibernate.cfg.xml 中,mapping 属性应该类似于:

<mapping class="models.yourHmbFile1"/>
<mapping class="models.yourHmbFile2"/>

顺便说一句,我发现使用 hibernate annotations 代替 hbm - xml 映射很容易。更容易编写和维护。

如果您更喜欢注释模型类,可以删除 hbm 文件并直接将您的注释类映射到您的 hibernate.cfg.xml

application.conf 中,您必须指定已添加的数据:

db.url=jdbc:oracle:thin:@localhost:1521/orcl
db.driver=oracle.jdbc.OracleDriver
db.user=system
db.pass=tiger

同样在hibernate.cfg.xml你需要指定连接数据:

<property name="hibernate.dialect">...</property>
  <property name="hibernate.connection.driver_class">...</property>
  <property name="hibernate.connection.url">...</property>
  <property name="hibernate.connection.username">...</property>
  <property name="hibernate.connection.password">...</property>

【讨论】:

您好,感谢您的回复。我还发现易于使用的注释,但这不在本项目的范围内,因此非常愿意但无能为力:(请告诉我在这种情况下我是否需要在application.conf 文件中添加与数据库相关的详细信息与否?收到此回复后,我将继续尝试。感谢您的帮助 感谢您的更新。是不是在application.conf和cfg.xml文件中重复了相同的信息(即连接细节)??? 其实是这样,但是在我之前开发的项目中它运行良好,实际上我现在不能做测试...... @Atropo 我在我的 Play (1.2.5) 应用程序中使用 Hibernate。如何处理数据库连接池?通过 hibernate.cfg.xml 或 application.conf 或者两者都产生相同的结果?如果问题没有意义,请道歉。

以上是关于休眠 3.2.5 与 Play Framework 1.2.5的主要内容,如果未能解决你的问题,请参考以下文章

如何将 CDN 与 Play Framework 2.4 资产一起使用?

如何将 IntelliJ 与 Play Framework 和 Scala 一起使用

heroku 部署与 play framework 1.2.4 和自己的安全模块

将 SORM 与 Play Framework 一起使用会导致引发反射异常

Play Framework 2.4 发送邮件

与 Play Framework 1.2.5 JPA 的多对多关系