hbm2ddl hbm2java 的使用说明 (由小组linan 整理)
hbm2DDL hbm2Java Hibernater的Hbm文件转化操作
1. 调用SchemaExport转Hibernate的hbm文件到 DDL文件
public class SchemaExportTest {
public static void main(String []args){
String []tmpPro = new String[3];
tmpPro[0] = "D:/workspaces/Temp/goat-hbm.xml";
tmpPro[1] = "--output=D:/workspaces/Temp /goat-hbm-new.sql";
tmpPro[2] = "--properties=D:/workspaces /Temp/hibernate.properties";
//--config=用于定义使用的配置的方式为XML文件
/**
--quiet don't output the script to stdout
public static void main(String []args){
String []tmpPro = new String[3];
tmpPro[0] = "D:/workspaces/Temp/goat-hbm.xml";
tmpPro[1] = "--output=D:/workspaces/Temp
tmpPro[2] = "--properties=D:/workspaces
//--config=用于定义使用的配置的方式为XML文件
/**
--quiet don't output the script to stdout
--config=用于定义使用的配置的方式为XML文件
--drop only drop the tables
--text don't export to the database
--output=my_schema.ddl output the ddl script to a file
--properties=hibernate.properties read database properties from a file
--format format the generated SQL nicely in the script
--delimiter=x set an end of line delimiter for the script
**/
SchemaExport.main(tmpPro);
}
}
--drop only drop the tables
--text don't export to the database
--output=my_schema.ddl output the ddl script to a file
--properties=hibernate.properties read database properties from a file
--format format the generated SQL nicely in the script
--delimiter=x set an end of line delimiter for the script
**/
SchemaExport.main(tmpPro);
}
}
要求有Log4j的配置文件及数据库的驱动程序
2. 调用JavaGenerator类转化HBM文件到Java的PO JO文件,此种方式可直接修改Hibernate的文件 ,从而达到修改POJO的目地,此包在hibernate -extensions的项目中,Hibernate -extensions的项目中包括class2hbm ddl2hbm hbm2java三个子项目
public static void main(String[] args) {
String mappingFile = GenerJavaPOJO.class.getResource(".").getPath()
+ "HibernateMappingTest.hbm.xml";
String[] param = new String[]{mappingFile,
"--output=" + System.getProperty("user.dir")+"/src/"};
CodeGenerator.main(param);
}
String mappingFile = GenerJavaPOJO.class.getResource(".").getPath()
+ "HibernateMappingTest.hbm.xml";
String[] param = new String[]{mappingFile,
"--output=" + System.getProperty("user.dir")+"/src/"};
CodeGenerator.main(param);
}
如果直接使用Hibernate-Extends的包,则要求用Hibernate2.jar的文件,因为此版本还不支持Hibernate3,因此附件中有一个对Hibernate3进行改造过的
hbm2java的代码,直接加入到项目代码中就可以使用,就不在需要Hiberanate2.jar的文件了
3. Middlegen 根据数据库Schema自动生成映射文件,可直接用Eclipse 的工具直接转化
<script type="text/javascript">
</script>
附件中包括部分的示例文档及Hibernate-extensio ns的一个Src包
另其中的两个Java文件是修改了Hbm2Java的源代码
,使其支持DefaultValue,从而在POJO文件中自动生
成缺省值