• Hibernate *.hbm.xml对象关系映射文件详解


        在hibernate中表与pojo对象是一一对应的,通过hbm文件将数据库表与实体关联起来,本文将对hbm文件进行介绍。

        pojo对象:提供了公共的无参构造方法 ,通过反射产生对象。
                               属性用private修饰,并且生成对应的get/set方法。
                               类不能用final来修饰,hibernate会产生代理类(cglib)。
                               类需要指明标识(id)。

    1.package

      package :声明pojo类所在的包,如果不写那么在class中需要指明pojo类所在的包

      catalog ,Schema:数据库信息,一个数据库系统包含多个Catalog,每个Catalog包含多个Schema,每个Schema包含多个数据库对象(表、视图、字段等)

        <hibernate-mapping package="cn.siggy.pojo"> 

    2.class(映射一个pojo类

      name :表示pojo类名。

      table  数据库表名,如果不写默认是类名

    3.id(表示实体类的表示(OID),对应数据库表中的主键)

      name   表示实体类中的表示属性名 。

      column 表示对应数据库表中的列名,如果不写则数据库表中和属性名一致。

      length 表示数据库表中对应数据类型的长度,如果不写有默认长度。

      type   表示类型,如果不写hibernate可以找到对应pojo类的属性的类型

    4.generator(主键生成策略)

      increment  用于long, short,或者int类型生成唯一标识.
                                   只有在没有其他进程往同一张表中插入数据时才能使用。
                                   在集群下不要使用(mysql, ms sql)

      identity   对DB2,Mysql, MS sql Server, Sybase和
                             HypersonicSql的内置标识字段提供支持。返回的标识
                                   是long,short获知int类型的。
      sequence   在支持序列的数据库中使用oracle
                             <generator class="sequence">数据库序列的名称</generator>
      uuid       UUID被编码为一个32位16进制数字的字符串
      native     根据底层数据库的能力选择identity,sequence或者hilo中的一个
      assigned   自己指定主

    5.property(实体类的属性)   

      name:指明pojo类属性名称(区分大小写)

      column 表示对应数据库表中的列名,如果不写则数据库表中和属性名一致。

      length 表示数据库表中对应数据类型的长度,如果不写有默认长度。

      type   表示类型,如果不写hibernate可以找到对应pojo类的属性的类型

    注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!

  • 相关阅读:
    【转载】MFC与ARX结合开发完美的AutoCAD应用程序
    【转载】SDK中调用COM的例子
    Visual Studio 2010 Beta 2 官方下载地址公布
    【转载】WPF中DataTemplate基本原理与缺陷分析
    【转载】曲线打断、求交点
    【转载】MFC单文档视图穷追猛打
    【转载】在对话框中加入属性页
    【项目】08年度科创项目“绘图助手工具箱”项目成果发布
    【项目】ARX程序开发:框裁直线(Rect Trim Line)功能开发
    【转载】ARX程序再VS2002中的调试初探
  • 原文地址:https://www.cnblogs.com/wuyx/p/7911313.html
Copyright © 2020-2023  润新知