潜龙写

xml代码:

  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4. "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  5. <!--
  6. <hibernate-mapping>一般不去配置,采用默认即可。
  7. default-cascade="none":默认的级联风格,表与表联动。
  8. default-lazy="true":默认延迟加载
  9. -->
  10. <hibernate-mapping>
  11. <!--
  12. <class>:使用class元素定义一个持久化类。
  13. name="cn.javass.user.vo.UserModel":持久化类的java全限定名;
  14. table="tbl_user":对应数据库表名;
  15. mutable="true":默认为true,设置为false时则不可以被应用程序更新或删除;
  16. dynamic-insert="false":默认为false,动态修改那些有改变过的字段,而不用修改所有字段;
  17. dynamic-update="false":默认为false,动态插入非空值字段;
  18. select-before-update="false":默认为false,在修改之前先做一次查询,与用户的值进行对比,有变化都会真正更新;
  19. optimistic-lock="version":默认为version(检查version/timestamp字段),取值:all(检查全部字段)、dirty(只检查修改过的字段)、
  20. none(不使用乐观锁定),此参数主要用来处理并发,每条值都有固定且唯一的版本,版本为最新时才能执行操作;
  21. -->
  22. <class name="cn.javass.user.vo.UserModel" table="tbl_user" dynamic-insert="true" dynamic-update="true" optimistic-lock="version">
  23. <!--
  24. <id>:定义了该属性到数据库表主键字段的映射。
  25. name="userId":标识属性的名字;
  26. column="userId":表主键字段的名字,如果不填写与name一样;
  27. -->
  28. <id name="userId">
  29. <!-- <generator>:指定主键由什么生成,推荐使用uuid,assigned指用户手工填入。 -->
  30. <generator class="uuid"/>
  31. </id>
  32. <!--
  33. <version/>:使用版本控制来处理并发,要开启optimistic-lock="version"和dynamic-update="true"。
  34. name="version":持久化类的属性名,column="version":指定持有版本号的字段名;
  35. -->
  36. <version name="version" column="version"/>
  37. <!--
  38. <property>:为类定义一个持久化的javaBean风格的属性。
  39. name="name":标识属性的名字,以小写字母开头;
  40. column="name":表主键字段的名字,如果不填写与name一样;
  41. update="true"/insert="true":默认为true,表示可以被更新或插入;
  42. -->
  43. <property name="name" column="name" />
  44. <property name="sex" column="sex"/>
  45. <property name="age" column="age"/>
  46. <!--
  47. 组件映射:把多个属性打包在一起当一个属性使用,用来把类的粒度变小。
  48. <component name="属性,这里指对象">
  49. <property name="name1"></property>
  50. <property name="name2"></property>
  51. </component>
  52. -->
  53. <!--
  54. <join>:一个对象映射多个表,该元素必须放在所有<property>之后。
  55. <join table="tbl_test:子表名">
  56. <key column="uuid:子表主键"></key>
  57. <property name="name1:对象属性" column="name:子表字段"></property>
  58. </join>
  59. -->
  60. </class>
  61. </hibernate-mapping>

xml代码:

    1. <?xml version="1.0"?>
    2. <!DOCTYPE hibernate-mapping PUBLIC
    3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    4. "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    5. <!--
    6. <hibernate-mapping>一般不去配置,采用默认即可。
    7. default-cascade="none":默认的级联风格,表与表联动。
    8. default-lazy="true":默认延迟加载
    9. -->
    10. <hibernate-mapping>
    11. <!--
    12. <class>:使用class元素定义一个持久化类。
    13. name="cn.javass.user.vo.UserModel":持久化类的java全限定名;
    14. table="tbl_user":对应数据库表名;
    15. mutable="true":默认为true,设置为false时则不可以被应用程序更新或删除;
    16. dynamic-insert="false":默认为false,动态修改那些有改变过的字段,而不用修改所有字段;
    17. dynamic-update="false":默认为false,动态插入非空值字段;
    18. select-before-update="false":默认为false,在修改之前先做一次查询,与用户的值进行对比,有变化都会真正更新;
    19. optimistic-lock="version":默认为version(检查version/timestamp字段),取值:all(检查全部字段)、dirty(只检查修改过的字段)、
    20. none(不使用乐观锁定),此参数主要用来处理并发,每条值都有固定且唯一的版本,版本为最新时才能执行操作;
    21. -->
    22. <class name="cn.javass.user.vo.UserModel" table="tbl_user" dynamic-insert="true" dynamic-update="true" optimistic-lock="version">
    23. <!--
    24. <id>:定义了该属性到数据库表主键字段的映射。
    25. name="userId":标识属性的名字;
    26. column="userId":表主键字段的名字,如果不填写与name一样;
    27. -->
    28. <id name="userId">
    29. <!-- <generator>:指定主键由什么生成,推荐使用uuid,assigned指用户手工填入。 -->
    30. <generator class="uuid"/>
    31. </id>
    32. <!--
    33. <version/>:使用版本控制来处理并发,要开启optimistic-lock="version"和dynamic-update="true"。
    34. name="version":持久化类的属性名,column="version":指定持有版本号的字段名;
    35. -->
    36. <version name="version" column="version"/>
    37. <!--
    38. <property>:为类定义一个持久化的javaBean风格的属性。
    39. name="name":标识属性的名字,以小写字母开头;
    40. column="name":表主键字段的名字,如果不填写与name一样;
    41. update="true"/insert="true":默认为true,表示可以被更新或插入;
    42. -->
    43. <property name="name" column="name" />
    44. <property name="sex" column="sex"/>
    45. <property name="age" column="age"/>
    46. <!--
    47. 组件映射:把多个属性打包在一起当一个属性使用,用来把类的粒度变小。
    48. <component name="属性,这里指对象">
    49. <property name="name1"></property>
    50. <property name="name2"></property>
    51. </component>
    52. -->
    53. <!--
    54. <join>:一个对象映射多个表,该元素必须放在所有<property>之后。
    55. <join table="tbl_test:子表名">
    56. <key column="uuid:子表主键"></key>
    57. <property name="name1:对象属性" column="name:子表字段"></property>
    58. </join>
    59. -->
    60. </class>
    61. </hibernate-mapping>

[转]xxx.hbm.xml文件配置详解的更多相关文章

  1. web.xml文件配置详解以及实例说明

    1.web.xml学名叫部署描述符文件,是在Servlet规范中定义的,是web应用的配置文件. 2.部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出 ...

  2. Maven学习总结(一)——pom.xml文件配置详解

    <build>标签:<plugins>给出构建过程中所用到的插件 <plugins> <plugin> <groupId>org.apach ...

  3. crossdomain.xml的配置详解

    目录 1 简介 2 crossdomain.xml的配置详解 3 总结 1 简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及 ...

  4. 史上最全的maven pom.xml文件教程详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  5. hibernate--hibernate.cfg.xml常用配置详解

    在hibernate中最重要的两个配置文件就是hibernate.cfg.xml和xxx.hbm.xml文件,前者是一些配置信息,后者是配置表和对象的映射关系,可以通过注解的方式来取代. 本篇文章主要 ...

  6. 转载 Spring、Spring MVC、MyBatis整合文件配置详解

    Spring.Spring MVC.MyBatis整合文件配置详解   使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...

  7. logback logback.xml常用配置详解(三)

    logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...

  8. logback logback.xml常用配置详解(一)<configuration> and <logger>

    logback logback.xml常用配置详解(一)<configuration> and <logger> 博客分类: Log java loglogback  原创文章 ...

  9. ssh2的application.xml配置文件配置详解

    ssh2的application.xml配置文件配置详解   1.导入其他的配置文件.在ssh项目中可以导入其他的配置文件,导入的格式为: <import resource="clas ...

随机推荐

  1. 2017-2018-1 20179205《Linux内核原理与设计》第九周作业

    <Linux内核原理与设计>第九周作业 视频学习及代码分析 一.进程调度时机与进程的切换 不同类型的进程有不同的调度需求,第一种分类:I/O-bound 会频繁的进程I/O,通常会花费很多 ...

  2. Metlnfo cms后台getshell漏洞复现

    整体思路 挖掘伪全局变量 然后找可控参数进行利用#伪全局变量:可理解为全局变量,例部分CMS为了全局过滤SQL注入或者XSS之类的漏洞就会将GET.POST.COOKIE等请求借入全局然后直接过滤.这 ...

  3. python基础===pendulum '''Python datetimes made easy.'''

    https://pypi.python.org/pypi/pendulum Pendulum的一大优势是内嵌式取代Python的datetime类,可以轻易地将它整合进已有代码,并且只在需要的时候才进 ...

  4. rdpClient

    https://github.com/jean343/RPI-GPU-rdpClient https://github.com/Nullstr1ng/MultiRDPClient.NET https: ...

  5. Idea创建模板

    新建文件模板 /** * * @author zenglw * @date ${DATE} */ Mapper #if (${PACKAGE_NAME} && ${PACKAGE_NA ...

  6. Python3判断自身脚本是不是在运行

    采用Socket方式,启动时占用一个端口,转化问题为判断端口是不是存在? import sys import locale import http.server import socketserver ...

  7. RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?

    https://www.zhihu.com/question/25912483?sort=created

  8. js实现图片下载

    <img src='src' data-name='自定义名称'><script>//js实现图片下载 function download(){ var name = $('# ...

  9. Docker 常用命令收集

    查看Docker版本 docker version 查看 Image docker images 打包 Image docker save -o ‘packageName.tar’ ‘imageNam ...

  10. [Bootstrap]modal弹出框

    写在前面 在实际开发中,为了友好,更需要一种美观的弹出框,js原生的alert,很难满足需求.这里推荐一个bootstrap的弹出框. 一个例子 先看效果吧 代码: <!DOCTYPE html ...