潜龙写

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. Java21个基础知识点

    类装载器就是寻找类的字节码文件,并构造出类在JVM内部表示的对象组件.在Java中,类装载器把一个类装入JVM中,要经过以下步骤: (1) 装载:查找和导入Class文件: (2) 链接:把类的二进制 ...

  2. io多路复用-select()

    参照<Unix网络编程>相关章节内容,实现了一个简单的单线程IO多路复用服务器与客户端. 普通迭代服务器,由于执行recvfrom则会发生阻塞,直到客户端发送数据并正确接收后才能够返回,一 ...

  3. STM32 volatile关键字

    为了提供对特殊地址的稳定访问. [C] 纯文本查看 复制代码 ? 1 2 3 int i=10; int j=i;     //1 int k=i;    //2 此时编译器对上面代码进行优化,因为在 ...

  4. centos 快捷键

    centos 快捷键大全 时间:2013-02-23 14:54来源:blog.csdn.net 举报 点击:225次 新手通常会不太习惯GNOME或KDE的界面操作,不过还好,LINUX的快捷键大多 ...

  5. 64_l3

    libguac-client-ssh-0.9.13-3.20170521git6d2cfda...> 23-May-2017 09:58 64570 libguac-client-ssh-0.9 ...

  6. 看jquery3.3.1学js类型判断的技巧

    需要预习:call , typeof, js数据类型 1. isFunction中typeof的不靠谱 源码: var isFunction = function isFunction( obj ) ...

  7. glom模块的使用(一)

    glom模块的使用 简单说下glom模块主要是处理结构化数据用的,安装简单pip install glom即可,下面就glom的方法参数做例子讲解. glom 和模块同名的glom方法使用方法: .g ...

  8. 判断cookie创建的时间是否已经24小时

    def read_cookie(self): cookiesfilepath="cookies%s" % self.uid if os.path.exists(cookiesfil ...

  9. SRM 638 Div.2

    250 给一个字符串 要求从一种形式换成另一形式 class NamingConvention{ private: int a, b, c; public: int d; string toCamel ...

  10. django的事务

    在某些时候,你可能会在视图修改两张数据表.并且想让他们同时成功或者同时失败.这就是事务的原子性(atomicity).在django中应该怎么做呢? 详细可以参考官方文档:https://yiyibo ...