zoukankan      html  css  js  c++  java
  • hibernate自动生成映射文件

    映射文件是O/R Mapping的关键,相当于控制中心。当数据库表较多时,手动配置该映射文件非常耗时。为了快速开发程序,使开发人员的注意力集中到业务逻辑上来,Hibernate官方提供的MiddleGen工具,它可以很方便的生成映射文件。这里下载:http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc 

    MiddleGen是根据数据库表来生成映射文件的,所以要与数据库进行配置。具体配置如下: 

    [1]修改数据库配置文件: 

      进入MiddleGen目录下的config/database子目录,可以看到有很多不同数据库的配置文件。根据我们的数据库选择,例如我使用的是MySql,所以打开mysql.xml文件。文件内容如下: 

    <property name="database.script.file" value="/${src.dir}/sql/${name}-mysql.sql"/> 

    <!--在这里配置JDBC驱动文件,注意,请确保MiddleGen的lib目录下有该驱动--> 

    <property name="database.driver.file" value="/${lib.dir}/mm.mysql-2.0.14-bin.jar"/> 

    <property name="database.driver.classpath" value="/${database.driver.file}"/> 

    <property name="database.driver" value="/org.gjt.mm.mysql.Driver"/> 

    <!--配置数据库URL--> 

    <property name="database.url" value="jdbc:mysql:///sports"/> 

    <!--用户名--> 

    <property name="database.userid" value="hiswing"/> 

    <!--密码--> 

    <property name="database.password" value="123"/> 

    <property name="database.schema" value=""/> 

    <property name="database.catalog" value=""/> 

    <property name="jboss.datasource.mapping" value="mySQL"/> 

    [2]修改Build.xml文件: 

      该文件放在MiddleGen的根目录下。它是MiddleGen-Hibernate的Ant构建文件。MiddleGen-Hibernate是通过Build.xml文件的具体参数据来生成映射文件的。修改处如下: 

    <!--指定数据库配置文件,就是[1]中的那个文件,默认为./config/database/hsqldb.xml--> 

    <!DOCTYPE project [ 

    <!ENTITY database SYSTEM "file:./config/database/mysql.xml"> 

    ]> 

    <!--配置Application Name,默认为airline--> 

    <property name="name" value="sports"/> 

    <!--配置文件输出目录,默认为${build.dir}/gen-src--> 

    <property name="build.gen-src.dir" value="E:Programmejavasports"/> 

    <!--配置对应JAVABEAN(PO)的包,默认为package="${name}.hibernate"--> 

    <!--genXDocletTags设置为true时生成的代码将包含xdoclet tag,可用来调整映射文件--> 

    <hibernate 

    destination="${build.gen-src.dir}" 

    package="com.cuitao.sports.po" 

    genXDocletTags="true" 

    genIntergratedCompositeKeys="false" 

    javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper" 

    /> 

       至此,MiddleGen-Hibernate的配置就算完成了。接下来,将使用Ant帮助我们启动MiddleGen-Hibernate。(可以在Apache网站上下载) 

    运用MS-Dos方式进入MiddleGen的根目录,运行ant,将启动MiddleGen-Hibernate的界面。在此之前,别忘记启动数据库: ) 

    Domain Class Name :PO的类名 

    Key Generator:主键生成器。其中有一些选项,一般选用uuid.hex 方式生成主键将提供最好的性能和数据库平台适应性。 

    Schema Name:数据库Schema Name 

    Persister:自定义持久类实现类类名。如果系统除了Hibernate 之外的其它持久层实现机制,如通过存储过程得到数据集,甚至从LDAP中获取数据来填充我们PO。 

    Enable proxies:代理(用于延迟加载[Lazy Loading])。 

    Dynamic Update:选定该项后,生成Update SQL 时将不包含未发生变动的字段属性,可以提升SQL执行效率。 

    Implement the Lifecyle interface:是否实现Lifecyle接口。实现Lifecyle接口后我们就可以在数据库操作之前,之后触发指定操作。 

    以上的配置是针对类进行的。下面将针对属性进行配置。 

    Hibernate mapping specialty:映射类型Key=主键,Property=属性。 

    Java property name:数据库字段对应的PO的属性名。 

    Java Type:数据库字段对应的PO属性的数据类型。 

    最后,单击窗口顶部的Generate 按钮,MiddleGen将自动生成这些数据库表所对应的Hibernate映射文件。映射文件是以.hbm.xml 作为后缀的,一个映射文件对应数据库的一个表。

  • 相关阅读:
    .XamlReader.Load()解决给定编码中的字符无效与无法创建未知类型
    ie中jQuery无法解析xml文件的解决方案[转帖]
    关于BI
    关天response.setContentType()和application/json
    win7 exe程序icon消失
    关于spring的p标签(转)
    人生的阶段(转)
    Firefox高版本中alert样式问题
    IDM606注册
    Java 线程池
  • 原文地址:https://www.cnblogs.com/tian830937/p/4420483.html
Copyright © 2011-2022 走看看