hibernate-extensions-2.0应用配置
************************************
这是hibernate的工具,/tools下有3个工具
class2hbm.bat 根据你自己对应表所写的java文件,生成相应的*.hbm.xml文件
ddl2hbm.bat 根据你的数据库表,自动生成*.hbm.xml和*.java文件(如果不需要详细的配置,建议用这种方式生成*.xml和*.java文件)
hbm2java.bat 根据*.hbm.xml生成相应的*.java文件
【应用】
*** *** *** *** *** ***
hbm2java.bat
1、进入命令行模式,进入hibernate-tools-2.0目录,进入/bin
2、首先执行setenv.bat,设置一下环境变量,运行前,
在hibernate-extensions-2.1.2/tools/bin目录有一个setenv.bat文件,改变其内容为:
set JDBC_DRIVER=C:/java/Middlegen-Hibernate-r5/lib/mysql-connector-java-3.0.15-ga-bin.jar
set HIBERNATE_HOME=C:/java/hibernate-2.1.6
set CORELIB=%HIBERNATE_HOME%/lib
set LIB=../lib
set PROPS=%HIBERNATE_HOME%/src
set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%/hibernate2.jar;
%CORELIB%/commons-logging-1.0.4.jar;%CORELIB%/commons-collections-2.1.1.jar;
%CORELIB%/commons-lang-1.0.1.jar;%CORELIB%/cglib-full-2.0.2.jar;%CORELIB%/dom4j-1.4.jar;
%CORELIB%/odmg-3.0.jar;%CORELIB%/xml-apis.jar;%CORELIB%/xerces-2.4.0.jar;
%CORELIB%/xalan-2.4.0.jar;%LIB%/jdom.jar;%LIB%/../hibernate-tools.jar
注意红色字体提示的均是路径和JAR文件名,一定要正确。
3、执行hbm2java.bat D:/hiber/com/test/*.xml //后面所跟的是你用Middlegen Hibernate所生成的*.hbm.xml文件
*** *** *** *** *** ***
ddl2hbm.bat
1、2步骤如hbm2java
3、运行ddl2hbm,会弹开一个图形界面
4、在Connection面板里,输入JDBC驱动的相关信息,如:
DriverClass:com.jnetdirect.jsql.JSQLDriver
ConnectionUrl:jdbc:JSQLConnect://服务器名/database=数据库名&user=用户名&password=密码(注意这是我所用的驱动支持将用户名和密码放在后面这种格式)
UserName:用户名(我的ConnectionUrl已填写该信息,这里可不填)
PassWord:密码(我的ConnectionUrl已填写该信息,这里可不填)
5、在Code面板里,可以定义包名
6、在Output面板里,可以定义文件输出路径
7、设置好后,进入Table面板,点击tables…按钮,如果数据库连接成功,则会弹开一个小面板,选择你要映射的数据库,点击确定即可,此时
Table面板里就会显示该数据库的所有表格,选择你需要的表,点击“Generate”,则在输出路径里生成*.hbm.xml和*.java文件
【注意的地方】
1、JDBC驱动的版本要一致,否则找到包却找不到相应的类
2、因为Sqlserver不支持hibernate里的sequences类型,在测试代码时会出错,你打开生成的*.hbm.xml
将
<id column="test_id" name="id" type="java.lang.Long">
<generator class="identity"/>//这里改成identity即可
</id>
*** *** *** *** *** ***
ddl2hbm.bat
hbm2java.bat配置如下:
@echo off
rem -------------------------------------------------------------------
rem Execute hbm2java tool
rem -------------------------------------------------------------------
call setenv.bat java -cp %CP% net.sf.hibernate.tool.hbm2java.CodeGenerator --output=H: est H: estcom tolesales*.xml
其中H: est是生成.java文件的路径,
H: estcom tolesales*.xml 是由 ddl2hbm.bat生成的xml文件的路径.