[转]xxx.hbm.xml文件配置详解
潜龙写
- <?xml version="1.0"?>
- <!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
- <!--
- <hibernate-mapping>一般不去配置,采用默认即可。
- default-cascade="none":默认的级联风格,表与表联动。
- default-lazy="true":默认延迟加载
- -->
- <hibernate-mapping>
- <!--
- <class>:使用class元素定义一个持久化类。
- name="cn.javass.user.vo.UserModel":持久化类的java全限定名;
- table="tbl_user":对应数据库表名;
- mutable="true":默认为true,设置为false时则不可以被应用程序更新或删除;
- dynamic-insert="false":默认为false,动态修改那些有改变过的字段,而不用修改所有字段;
- dynamic-update="false":默认为false,动态插入非空值字段;
- select-before-update="false":默认为false,在修改之前先做一次查询,与用户的值进行对比,有变化都会真正更新;
- optimistic-lock="version":默认为version(检查version/timestamp字段),取值:all(检查全部字段)、dirty(只检查修改过的字段)、
- none(不使用乐观锁定),此参数主要用来处理并发,每条值都有固定且唯一的版本,版本为最新时才能执行操作;
- -->
- <class name="cn.javass.user.vo.UserModel" table="tbl_user" dynamic-insert="true" dynamic-update="true" optimistic-lock="version">
- <!--
- <id>:定义了该属性到数据库表主键字段的映射。
- name="userId":标识属性的名字;
- column="userId":表主键字段的名字,如果不填写与name一样;
- -->
- <id name="userId">
- <!-- <generator>:指定主键由什么生成,推荐使用uuid,assigned指用户手工填入。 -->
- <generator class="uuid"/>
- </id>
- <!--
- <version/>:使用版本控制来处理并发,要开启optimistic-lock="version"和dynamic-update="true"。
- name="version":持久化类的属性名,column="version":指定持有版本号的字段名;
- -->
- <version name="version" column="version"/>
- <!--
- <property>:为类定义一个持久化的javaBean风格的属性。
- name="name":标识属性的名字,以小写字母开头;
- column="name":表主键字段的名字,如果不填写与name一样;
- update="true"/insert="true":默认为true,表示可以被更新或插入;
- -->
- <property name="name" column="name" />
- <property name="sex" column="sex"/>
- <property name="age" column="age"/>
- <!--
- 组件映射:把多个属性打包在一起当一个属性使用,用来把类的粒度变小。
- <component name="属性,这里指对象">
- <property name="name1"></property>
- <property name="name2"></property>
- </component>
- -->
- <!--
- <join>:一个对象映射多个表,该元素必须放在所有<property>之后。
- <join table="tbl_test:子表名">
- <key column="uuid:子表主键"></key>
- <property name="name1:对象属性" column="name:子表字段"></property>
- </join>
- -->
- </class>
- </hibernate-mapping>
xml代码:
- <?xml version="1.0"?>
- <!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
- <!--
- <hibernate-mapping>一般不去配置,采用默认即可。
- default-cascade="none":默认的级联风格,表与表联动。
- default-lazy="true":默认延迟加载
- -->
- <hibernate-mapping>
- <!--
- <class>:使用class元素定义一个持久化类。
- name="cn.javass.user.vo.UserModel":持久化类的java全限定名;
- table="tbl_user":对应数据库表名;
- mutable="true":默认为true,设置为false时则不可以被应用程序更新或删除;
- dynamic-insert="false":默认为false,动态修改那些有改变过的字段,而不用修改所有字段;
- dynamic-update="false":默认为false,动态插入非空值字段;
- select-before-update="false":默认为false,在修改之前先做一次查询,与用户的值进行对比,有变化都会真正更新;
- optimistic-lock="version":默认为version(检查version/timestamp字段),取值:all(检查全部字段)、dirty(只检查修改过的字段)、
- none(不使用乐观锁定),此参数主要用来处理并发,每条值都有固定且唯一的版本,版本为最新时才能执行操作;
- -->
- <class name="cn.javass.user.vo.UserModel" table="tbl_user" dynamic-insert="true" dynamic-update="true" optimistic-lock="version">
- <!--
- <id>:定义了该属性到数据库表主键字段的映射。
- name="userId":标识属性的名字;
- column="userId":表主键字段的名字,如果不填写与name一样;
- -->
- <id name="userId">
- <!-- <generator>:指定主键由什么生成,推荐使用uuid,assigned指用户手工填入。 -->
- <generator class="uuid"/>
- </id>
- <!--
- <version/>:使用版本控制来处理并发,要开启optimistic-lock="version"和dynamic-update="true"。
- name="version":持久化类的属性名,column="version":指定持有版本号的字段名;
- -->
- <version name="version" column="version"/>
- <!--
- <property>:为类定义一个持久化的javaBean风格的属性。
- name="name":标识属性的名字,以小写字母开头;
- column="name":表主键字段的名字,如果不填写与name一样;
- update="true"/insert="true":默认为true,表示可以被更新或插入;
- -->
- <property name="name" column="name" />
- <property name="sex" column="sex"/>
- <property name="age" column="age"/>
- <!--
- 组件映射:把多个属性打包在一起当一个属性使用,用来把类的粒度变小。
- <component name="属性,这里指对象">
- <property name="name1"></property>
- <property name="name2"></property>
- </component>
- -->
- <!--
- <join>:一个对象映射多个表,该元素必须放在所有<property>之后。
- <join table="tbl_test:子表名">
- <key column="uuid:子表主键"></key>
- <property name="name1:对象属性" column="name:子表字段"></property>
- </join>
- -->
- </class>
- </hibernate-mapping>
[转]xxx.hbm.xml文件配置详解的更多相关文章
- web.xml文件配置详解以及实例说明
1.web.xml学名叫部署描述符文件,是在Servlet规范中定义的,是web应用的配置文件. 2.部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出 ...
- Maven学习总结(一)——pom.xml文件配置详解
<build>标签:<plugins>给出构建过程中所用到的插件 <plugins> <plugin> <groupId>org.apach ...
- crossdomain.xml的配置详解
目录 1 简介 2 crossdomain.xml的配置详解 3 总结 1 简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及 ...
- 史上最全的maven pom.xml文件教程详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- hibernate--hibernate.cfg.xml常用配置详解
在hibernate中最重要的两个配置文件就是hibernate.cfg.xml和xxx.hbm.xml文件,前者是一些配置信息,后者是配置表和对象的映射关系,可以通过注解的方式来取代. 本篇文章主要 ...
- 转载 Spring、Spring MVC、MyBatis整合文件配置详解
Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...
- logback logback.xml常用配置详解(三)
logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...
- logback logback.xml常用配置详解(一)<configuration> and <logger>
logback logback.xml常用配置详解(一)<configuration> and <logger> 博客分类: Log java loglogback 原创文章 ...
- ssh2的application.xml配置文件配置详解
ssh2的application.xml配置文件配置详解 1.导入其他的配置文件.在ssh项目中可以导入其他的配置文件,导入的格式为: <import resource="clas ...
随机推荐
- Linux后台研发面试题
本系列给出了在复习过程中一些C++后台相关面试题,回答内容按照笔者的知识点掌握,故有些问题回答较为简略 1.信号的生命周期 一个完整的信号生命周期可以用四个事件刻画:1)信号诞生:2)信号在进程中注册 ...
- caffe Python API 之 数据输入层(Data,ImageData,HDF5Data)
import sys sys.path.append('/projects/caffe-ssd/python') import caffe4 net = caffe.NetSpec() 一.Image ...
- docker数据管理--数据卷的备份
/* 先在宿主机创建一个备份的文 件夹, 然后将其以另外一个名字的目录挂载到容器里, 此时不管容器里,或宿主机里做什么操作, 数据都会及时更新,并得到备份. */ [root@localhost ~] ...
- Rsync文件同步服务
Rsync简介 Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具,适用于Unix/Linux/Windows等多种操作系统. Rsync的特性 支持拷贝特殊 ...
- LinkedList 源码分析
LinkedList :双向链表结构, 内部存在frist节点 和 last节点.通过改变 首节点和 尾节点的引用来实现新增和修改 有一个内部类: //节点类,内部包括前节点和后节点,和数据项 // ...
- java 多线程剖析
问题的缘由源自于一道简单的面试题:题目要求如下: 建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC. 解决问题前我们前补充一些基本知识: ...
- win10更换登陆背景和关闭锁屏
更换登陆背景图 用国外一个hacker写的工具,可在github上下载,或者下载我上传到百度网盘的备份.win10默认的登陆背景太难看了. 去掉锁屏图片 登陆界面其实本身就是一种锁屏,为什么还要单独搞 ...
- WordPress 前端投稿/编辑发表文章插件 DJD Site Post(支持游客和已注册用户)汉化版 免费下载
插件简介 前面逍遥乐给大家推荐了 WordPress用户前端化专业版WP User Frontend Pro WordPress中文汉化插件v2.1.9 今天逍遥乐给大家带来的wordpress插件是 ...
- 树莓派与windows互传文件
这是 meelo 原创的 玩转树莓派 系列文章 安装WinSCP 登录即可在左右两侧分别显示windows和树莓派中的文件 只需将文件从一侧拖到另一侧即可开始文件的传送
- buntu 16.04上安装和配置Samba服务器
https://www.linuxidc.com/Linux/2017-11/148194.htm