微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xxx.hbm.xml文件配置详解

  1. <?xmlversion="1.0"?>
  2. <!DOCTYPEhibernate-mappingPUBLIC
  3. "-//Hibernate/HibernateMappingDTD3.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. <!--
  11. class>:使用class元素定义一个持久化类。
  12. name="cn.javass.user.vo.usermodel":持久化类的java全限定名;
  13. table="tbl_user":对应数据库表名;
  14. mutable="true"认为true,设置为false时则不可以被应用程序更新或删除
  15. dynamic-insert="false"认为false,动态修改那些有改变过的字段,而不用修改所有字段;
  16. dynamic-update="false"认为false,动态插入非空值字段;
  17. select-before-update="false"认为false,在修改之前先做一次查询,与用户的值进行对比,有变化都会真正更新;
  18. optimistic-lock="version"认为version(检查version/timestamp字段),取值:all(检查全部字段)、dirty(只检查修改过的字段)、
  19. none(不使用乐观锁定),此参数主要用来处理并发,每条值都有固定且唯一的版本,版本为最新时才能执行操作;
  20. --classname="cn.javass.user.vo.usermodel"table="tbl_user"dynamic-insert="true"dynamic-update="true"optimistic-lock="version"id>:定义了该属性数据库表主键字段的映射。
  21. name="userId":标识属性的名字;
  22. column="userId":表主键字段的名字,如果不填写与name一样;
  23. idname="userId" <!--<generator>:指定主键由什么生成,推荐使用uuid,assigned指用户手工填入。-->
  24. generatorclass="uuid"/>
  25. </version/>:使用版本控制来处理并发,要开启optimistic-lock="version"dynamic-update="true"
  26. name="version":持久化类的属性名,column="version":指定持有版本号的字段名;
  27. versionname="version"column="version"/>
  28. property>:为类定义一个持久化的javaBean风格的属性
  29. name="name":标识属性的名字,以小写字母开头;
  30. column="name":表主键字段的名字,如果不填写与name一样;
  31. update="true"/insert="true"认为true,表示可以被更新或插入;
  32. propertyname="name"column="name"propertyname="sex"column="sex"propertyname="age"column="age" 组件映射:把多个属性打包在一起当一个属性使用,用来把类的粒度变小。
  33. componentname="属性,这里指对象"propertyname="name1">propertyname="name2"componentjoin>:一个对象映射多个表,该元素必须放在所有>之后。
  34. jointable="tbl_test:子表名"keycolumn="uuid:子表主键"keypropertyname="name1:对象属性"column="name:子表字段">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。