Hibernate配置入门手册
创始人
2024-06-08 00:41:19
0

当我们有了一个持久化类和它的映射文件时,就该是Hibernate配置的时候了。

在此之前,我们需要一个数据库。 HSQL DB是种基于Java 的SQL数据库管理系统(DBMS),可以从HSQL DB的网站上下载。实际上,你只需下载的包中的hsqldb.jar文件,并把这个文件放在开发文件夹的lib/目录下即可。

在开发的根目录下创建一个data目录 - 这是HSQL DB存储数据文件的地方。此时在data目录中运行java -classpath ../lib/hsqldb.jar org.hsqldb.Server就可启动数据库。你可以在log中看到它的启动,及绑定到TCP/IP套结字,这正是我们的应用程序稍后会连接的地方。如果你希望在本例中运行一个全新的数据库,就在窗口中按下CTRL + C来关闭HSQL数据库,并删除data/目录下的所有文件,再重新启动HSQL数据库。

Hibernate是你的应用程序里连接数据库的那层,所以它需要连接用的信息。连接(connection)是通过一个也由我们配置的JDBC连接池(connection pool)来完成的。Hibernate的发布包里包含了许多开源的(open source)连接池,但在我们例子中使用Hibernate内置的连接池。注意,如果你希望使用一个产品级(production-quality)的第三方连接池软件,你必须拷贝所需的库文件到你的classpath下,并使用不同的连接池设置。

为了保存Hibernate配置,我们可以使用一个简单的hibernate.properties文件,或者一个稍微复杂的hibernate.cfg.xml,甚至可以完全使用程序来Hibernate配置。多数用户更喜欢使用XML配置文件:

  1.  version='1.0' encoding='utf-8'?> 
  2.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  3.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
  4.  
  5.  
  6.  
  7.      
  8.  
  9.          
  10.          name="connection.driver_class">org.hsqldb.jdbcDriverproperty> 
  11.          name="connection.url">jdbc:hsqldb:hsql://localhostproperty> 
  12.          name="connection.username">saproperty> 
  13.          name="connection.password">property> 
  14.  
  15.          
  16.          name="connection.pool_size">1property> 
  17.  
  18.          
  19.          name="dialect">org.hibernate.dialect.HSQLDialectproperty> 
  20.  
  21.          
  22.          name="current_session_context_class">threadproperty> 
  23.  
  24.          
  25.          name="cache.provider_class">org.hibernate.cache.NoCacheProviderproperty> 
  26.  
  27.          
  28.          name="show_sql">trueproperty> 
  29.  
  30.          
  31.          name="hbm2ddl.auto">createproperty> 
  32.  
  33.          resource="events/Event.hbm.xml"/> 
  34.  
  35.     session-factory> 
  36.  
  37. hibernate-configuration> 

注意这个XML配置使用了一个不同的DTD。在这里,我们配置了Hibernate的SessionFactory-一个关联于特定数据库全局的工厂(factory)。如果你要使用多个数据库,就要用多个的,通常把它们放在多个配置文件中(为了更容易启动)。

最开始的4个property元素包含必要的JDBC连接信息。方言(dialect)的property元素指明Hibernate 生成的特定SQL变量。你很快会看到,Hibernate对持久化上下文的自动session管理就会派上用场。 打开hbm2ddl.auto选项将自动生成数据库模式(schema)- 直接加入数据库中。当然这个选项也可以被关闭(通过去除这个配置选项)或者通过Ant任务SchemaExport的帮助来把数据库schema重定向到文件中。最后,在配置中为持久化类加入映射文件。

把这个文件拷贝到源代码目录下面,这样它就位于classpath的根目录的最后。Hibernate配置在启动时会自动在classpath的根目录查找名为hibernate.cfg.xml的配置文件。

【编辑推荐】

  1. 浅析Hibernate VO与PO区别
  2. Hibernate中merge()方法解析
  3. Hibernate中Criteria攻略详解
  4. 简述Hibernate部分查询语言(一)
  5. 简述Hibernate三种查询的应用

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...