快速业务通道

使用Hibernate进行对象的关系映射 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
n Server 5.0.1(请到相应的官方网站获取各个的最新版本,译者注),我的例子在其他的容器中也能正常的运行,不过我没有进行这方面的测试。Hibernate网站有关于在Jboss下的配置信息,通常几乎所有的应用服务器和数据库都能整合Hibernate。

使用Hibernate进行对象的关系映射(2)

时间:2011-08-11

4.1 Mapping Relationships with Hibernate

下面我们开讨论如何使用Hibernate进行对象的关系映射。我将介绍如何使用Hibernate进行"一对一"、"一对多"、"多对多"的映射。在我提供的代码中只是为了测试而没有考虑到更多的"模式啦规则啦"等等,这就说这里的例子只是一个启蒙,让我们从代码中学习Hibernate的API以及如何进行开发,请再你自己书写的时候注意必要的模式和编码规范。

然后我们看看我的例子中都有哪些对象,让们开始为他们建模吧,如下图:

下图为数据表关系图:

4.2 配置Hibernate

点击此处获得本文中的实例代码,这样你可以对本例有更深的了解。

为了运行实例,请确信你已经下载过Hibernate和log4j的最新发布包,同时也要把数据库驱动放到classpath中。下载以后的压缩包中有example_schema.ddl文件用来生成数据库表。

接下来作者给我们讲述了一个Hibernate.properties文件,它是在配置Hibernate的时候最先接触到的,它在应用程序启动的时候为我们进行初始化工作(译者注:有了hibernate.cfg.xml,Hibernate.properties变的可有可无了,不是吗?)

hibernate.connection.driver_class=COM.ibm.db2.jdbc.net.DB2Driver hibernate.connection.url=jdbc:db2://server1/sample hibernate.connection.username=db2admin hibernate.connection.password=password hibernate.default_schema=db2admin hibernate.dialect=net.sf.hibernate.dialect.DB2Dialect hibernate.show_sql=true # The maximum number of active connections that can be allocated # from this pool at the same time, or zero for no limit. hibernate.dbcp.maxActive 100 # Action to take in case of an exhausted DBCP statement pool # ( 0 = fail, 1 = block, 2= grow) hibernate.dbcp.whenExhaustedAction 1 hibernate.dbcp.maxWait 120000 # The maximum number of active connections that can remain # idle in the pool, without extra ones being released, or zero # for no limit. hibernate.dbcp.maxIdle 10 # The SQL query that will be used to validate # connections from this pool before returning them to the caller. # hibernate.dbcp.validationQuery=TODO ## prepared statement cache hibernate.dbcp.ps.maxActive 100 # Action to take in case of an exhausted DBCP statement #pool ( 0 = fail, 1 = block, 2= grow) hibernate.dbcp.ps.whenExhaustedAction 1 # The maximum number of milliseconds that the pool will # wait (when there are no available connections) for a connection # to be returned before throwing an exception, or -1 to # wait indefinitely. hibernate.dbcp.ps.maxWait 120000 hibernate.dbcp.ps.maxIdle 100

上边的代码中,首先指明了和数据连接有关的属性元素:database driver、JDBC URL、用户账号和密码、dialect("数据库"方言、土语、地方话)等等,dialect为我们使用的每一个数据库进行最佳优化,在Hibernate使用手册中你可以到得到每一个数据库的dialect.最后,hibernate.show_sql当设定为"真"的时候,我们可以在Hibernate的DEBUG信息中看到HQL在执行的时候的SQL语句。

剩下的属性元素是用来配置连

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号