从hbm文件生成ddl

转载 2007年09月15日 13:30:00

网上收集整理的一些资料:

1、
<property   name="hibernateProperties"> 
  <props> 
  <prop   key="hibernate.dialect"> 
  org.hibernate.dialect.MySQLDialect 
  </prop> 
  <prop   key="hibernate.hbm2ddl.auto">create</prop> 
  <prop   key="hibernate.show_sql">true</prop> 
  </props> 
</property>

2、
<?xml version="1.0"?>
<project name="Export Schema from *.xml"
         default="schema" basedir=".">
  <!-- Set up properties containing important project directories -->
  <property name="class.root" value="E:/hibernate-3.0/"/>
  <property name="lib.dir" value="${class.root}/lib/"/>
  <!-- Set up the class path for compilation and execution -->
  <path id="class.path">
      <!-- Include our own classes, of course -->
      <!--pathelement location="${class.root}" /-->
      <!-- Include jars in the project library directory -->
      <!--fileset dir="${class.root}/hibernate3/org/hibernate/tool/hbm2ddl"-->
      <fileset dir="${class.root}">
        <include name="*.jar"/>
      </fileset>
      <fileset dir="${lib.dir}">
          <include name="*.jar"/>
      </fileset>
  </path>
  <!-- Generate the schemas for all mapping files in our class tree -->
  <target name="schema" description="Generate DB schema from the O/R mapping files">
    <!-- Teach Ant how to use Hibernate's schema generation tool -->
    <taskdef name="schemaexport"
             classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
             classpathref="class.path"/>
    <schemaexport properties="hibernate.properties"
                  quiet="no" text="no" drop="no" out_put="/schema.sql" verbose="true">
      <fileset dir="../src">
        <include name="*.hbm.xml"/>
      </fileset>
    </schemaexport>
  </target>
</project>
 
3、 
<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->
<project name="HibernateS"  default="schemaexport"  basedir=".">

  <property name="base.dir" value="." />
  <property name="src.dir" value="./src" />
  <property name="lib.dir" value="./lib/" />
  <property name="classes.dir" value="./classes/" />
  <property name="build.dir" value="." />

  <path id="myclasspath">
      <fileset dir="${lib.dir}">
          <include name="**/*.jar" />
      </fileset>
  </path>
 
  <target name="schemaexport">
    <taskdef name="schemaexport"
        classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
        classpathref="myclasspath"/>

    <schemaexport
        properties="hibernate.properties"
        quiet="no"
        text="true"
        drop="no"
        delimiter=";"
        output="${build.dir}/schema-export.sql">
        <fileset dir="${classes.dir}">
            <include name="**/ParentChild.hbm.xml"/>
        </fileset>
    </schemaexport>
  </target>
 
</project>

4、直接用语句生成:

//import   net.sf.hibernate.tool.hbm2ddl.*; 
  
  Configuration   config=new   Configuration(); 
  config.addClass(some.class); 
  SchemaExport   export=new   SchemaExport(config); 
  export.setOutputFile("some.sql"); 
  export.create(true,true);
 
 
public static void main(String[] args) throws Exception {

     Configuration cfg = new Configuration()
                 .addClass(Record.class);
                 //.addClass(Record.class);
                 //.addClass(XXX.class);
                 //.addClass(YYY.class);如果要生成多个java类的DDL可以修改
     SessionFactory sf = cfg.buildSessionFactory();
     new SchemaExport(cfg).create(true, true);

     ... ....

}

5、用ant来执行hibernate所自带sechmaExport的工具

既然在eclipse环境下工作,最好所有相关的工作都能在它里面完成。hibernate自带了一个工具schemaExport,可以让你从map文件产生数据库的ddl。
在eclipse project中新建一个目录,schemae,然后新建两个文件。schemae.xml,schema.properties。

schema.properties的内容:

neededClassPath=c:/hibernate-2.1.4/hibernate-2.1/hibernate2.jar;c:/hibernate-2.1.4/hibernate-2.1/lib/dom4j-1.4.jar;c:/hibernate-2.1.4/hibernate-2.1/lib/commons-collections-2.1.jar;c:/hibernate-2.1.4/hibernate-2.1/lib/commons-logging-1.0.3.jar;c:/hsqldb_1_7_1/hsqldb/lib/hsqldb.jar;D:/eclipse-SDK-2.1.2-win32/eclipse/workspace/fhjsj/bin/;D:/eclipse-SDK-2.1.2-win32/eclipse/workspace/fhjsj/fhjsj/WEB-INF/classes/

schema.xml的内容:

<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->
<project name="schemaExport"  default="schemaexport"  basedir=".">

  <property file="schemae.properties"/>
 
  <target name="schemaexport">
    <taskdef name="schemaexport"
        classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
        classpath="${neededClassPath}"/>

    <schemaexport
        quiet="no"
        text="true"
        drop="no"
        delimiter=";"
        output="workspace/fhjsj/schemae/schema-export.sql">
        <fileset dir="../fhjsj/WEB-INF/classes/">
            <include name="**/*.hbm.xml"/>
        </fileset>
    </schemaexport>
</target>
</project>

其它的hibernate.properties和mapping 文件根据web程序的规范放在WEB-INF的classes里面。最后产生的ddl文件放在schemae目录下面。 

eclipse 自动生成hbm文件

今天在为了解决在eclipse中自动生成hb
  • wujinsong2010
  • wujinsong2010
  • 2014年04月21日 17:53
  • 543

hibernate在eclipse的逆向工程生成hbm.xml和bean类

前提条件 1,有一个项目并且已经添加了hibernate 3.x 2,有相应的数据库。只是没有关联起来。   接下来正式开始了 1,添加hibernate.cfg.xml...
  • miao0967020148
  • miao0967020148
  • 2015年12月22日 17:25
  • 2859

mysql ddl 与临时文件

本篇博客主要通过测试的方式对比说明明几种常见mysql ddl操作对临时表的使用情况(所有测试都是基于mysql 5.6.26版本)。测试将分为两个大部分,第一部分测试非 online ddl对临时表...
  • shaochenshuo
  • shaochenshuo
  • 2017年01月23日 16:39
  • 328

Hibernate中利用配置文件(hbm)自动生成数据库表

        接上一篇文章,上篇文章介绍了如何利用XDoclet从类自动生成hbm配置文件,这篇写一下如何自动通过hbm文件自动建立数据库表 。以类为基础,生成配置文件和数据库表,更加符合OO。  ...
  • vvfish119
  • vvfish119
  • 2007年11月20日 10:51
  • 4188

使用 Hibernate Tools 自动生成hbm.xml及model java文件

1.安装Hibernate Tools工具 Help-->Eclipse Marketpalce...-->搜索JBoss tools->install 勾选Hibernate tools,点击nex...
  • Zhou_Andy
  • Zhou_Andy
  • 2016年07月06日 22:42
  • 5132

通过Hibernate的hbm.xml文件生成数据库表

首先,在src目录下,有一个文件,hibernate.cfg.xml,该文件的内容如下: ? hibernate-configuration PUBLIC "-//Hibernate/Hib...
  • Baple
  • Baple
  • 2015年08月18日 08:59
  • 2038

3.Hibernate首例:把hbm生成ddl

package com.bjpowernode.hibernate; import org.hibernate.cfg.Configuration; import org.hibernate.too...
  • seeds_home
  • seeds_home
  • 2012年08月29日 08:41
  • 706

通过MyEclipse14生成Hibernate类文件和hbm.xml文件,或者annotatio...

1.    前言 很多人都在使用myEclipse,很多公司也都使用hibernate框架,老版本的hibernate中,由于没有annotation,我们需要写两个文件来维护表与对象的关系,写一个类...
  • ymh_123
  • ymh_123
  • 2017年03月23日 20:24
  • 636

使用eclipse tool 逆向生成Hiberante类xml、和hbm.xml

在hibernate中可以使用hibernate tools 进行类的生成,这样可以节省很多开发时间,而且可以避免错误的产出,而且可以提高开发效率。 先下载hibernate tool工具。 Conf...
  • qq303437511
  • qq303437511
  • 2015年08月03日 22:02
  • 943

intellij配置hibernate自动生成hbm.xml文件

在使用intellij开发Java web项目的时候,会遇到hibernate中hbm.xml文件不知道在哪里创建和生成的问题,其实intellij自动生成的配置文件虽然配置有点麻烦,但是生成确实很牛...
  • u014520745
  • u014520745
  • 2016年05月14日 21:49
  • 11649
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从hbm文件生成ddl
举报原因:
原因补充:

(最多只允许输入30个字)