休眠 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 和自己的安全模块