Hibernate与MS SQL Server 2000的使用细节
在学习Hibernate过程中发现了许多需要注意的细节问题,尽管网络上很多类似的文章,但在我实践之后发现遗漏了一些关键问题,丰富之后以飨广大
网友。JDK的安装和配置在此就不再罗嗦了,咱们开始吧。
1. 环境准备
【Hibernate】
把必须的几个jar包复制到程序所在目录下的lib目录,包括:ant-antlr-1.6.5.jar、asm.jar、asm-attrs.jar、cglib-2.1.3.jar、commons-
collections-2.1.1.jar、commons-logging-1.0.4.jar、dom4j-1.6.1.jar、ehcache-1.2.3.jar、hibernate3.jar、jta.jar、log4j-1.2.11.jar。
可以从Apache的Hibernate网站上下载:
http://sourceforge.net/project/showfiles.php?group_id=40712
【Ant】 下载Ant以后解压缩即可,不过为了便于使用,可以在PATH环境变量中增加bin所在的路径,比如:
F:\Download\Dev\JavaIDE\apache-ant-1.7.0\bin。此外,使用Ant编译、运行之前还要设置ANT_HOME
>环境变量,比如:F:\Download\Dev\JavaIDE\apache-ant-1.7.0。可以从Apache的Ant网站上下载:
http://ant.apache.org/bindownload.cgi
【MS SQL Server 】
MS SQL Server 2000的补丁至少要打成SP3,因为Hibernate在连接数据库时使用了1433端口,不打补丁该端口是不能用的,打补丁以前的版本是
:
Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48
打完补丁以后是:
Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05
SP3补丁可以从微软网站下载
http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe
【JDBC】
Hibernate连接到MS SQL Server 2000可以用ODBC也可以用微软提供的JDBC,尽管可以用ODBC,但我感觉还是使用微软的比较好,毕竟提供的功能
更加贴近底层数据库。下载安装以后包含三个文件,分别是:msbase.jar、mssqlserver.jar和msutil.jar,请把他们添加到CLASSPATH环境变量中。
MS SQL Server 2000 JDBC可以从微软的网站上下载:
http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en
MS SQL Server 2005 JDBC可以从微软的网站上下载:
http://www.microsoft.com/downloads/details.aspx?FamilyID=E22BC83B-32FF-4474-A44A-22B6AE2C4E17&displaylang=zh-cn
2. hibernate.cfg.xml配置文件
【DTD部分】
这是Hibernate解析配置文件的识别部分,一个符号都不能错,可以从hibernate3.jar的模板文件hibernate-configuration-3.0.dtd中复制。
【数据库连接部分】
connection.driver_class的值为:com.microsoft.jdbc.sqlserver.SQLServerDriver
connection.url的值为:jdbc:sqlserver://服务器名或IP;databasename=数据库名
connection.username的值为:登录名
connection.password的值为:登录名对应的登录密码
【SQL dialect部分】
因为使用了微软的JDBC所以该属性可以屏蔽,否则Hibernate自动创建库表的脚本不符合MS SQL Server 2000的要求
【Drop and re-create the database schema on startup部分】
第一次运行时可以把hbm2ddl.auto设为create,以后就可以屏蔽掉了。
【mapping resource部分】
根据需要增加、维护,比如:<mapping resource="events/Event.hbm.xml"/>
3. *.hbm.xml映射文件
【DTD部分】
这是Hibernate解析映射文件的识别部分,一个符号都不能错,可以从hibernate3.jar的模板文件hibernate-mapping-3.0.dtd中复制。最好不要
手工生成此类文件,一来数量很大,二 来容易出错,可以用middlegen工具来产生。
4. build.xml配置文件
该文件包含了Ant编译、运行程序的相关参数,除了project name调整之外,还可以自行添加运行程序的配置代码,在此不再赘述。
总之,由于涉及到的知识点比较多,任何一个环节都要认真对待,当然从开发效率的角度出发,我们可以使用NetBeans、Eclipse、Jbuilder等开
发工具,不过命令行的乐趣是IDE所体会不到的。