Hibernate学习(3)- *.hbm.xml详解
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!--
package用于定义包的,那么class就不用写包名路径了
schema指数据库模式,一个模式下可以有多张表
-->
<hibernate-mapping package="com.demo.pojo" >
<!--
class映射一个实体类
提供了公共的无参构造方法 - 通过反射产生对象
属性用private修饰,并且生成对应的get、set方法
类不能用final修饰 - hibernate会产生代理类(cglib)
类需要指定标识 - 主键
name表示实体类的类名
table表示数据库对应的表名,如果不写默认是类名
-->
<class name="User" table="user">
<!--
id表示实体类的标识(OID) - 对应数据库表中的主键
name实体类的标识属性名
column表示数据库表中的列名,如果不写则数据库列名与属性名一致
length 表示数据库表中对应数据类型的长度,如果不写有默认长度
type表示类型,如果不写,hibernate自动根据实体类的字段类型确定
-->
<id name="id" column="id">
<!--
主键生成策略
increment: 由hibernate管理主键,自动以递增的方式生成标识符,每次增量为1(id+1作为主键);
用于long,short,int类型生成自增主键(注意:集群下不能使用;原因:每次生成前,会去查询最大的id)
identity: 由底层数据库生成主键。identity是由数据库自己生成的,但这个主键必须设置为自增长,前提条件是底层数据库支持自动增长字段类型,
一般来说像SQL Server,MYSQL这类的数据库都是选择identity
sequence:采用数据库提供的sequence机制生成主键。如oralce中的sequence
hilo: 通过hi/lo算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源
native: hibernate根据使用的数据库自行判断采用identity、hilo、sequence其中一种作为主键生成方式。
在hibernate配置中native是默认的,泛指的自增,
也就是说除了oracle数据库外(oracle下用native需要用到一个叫hibernate_sequence的sequence),
大部分数据库你都可以使用默认的native来代表自增。
assigned:主键由外部程序负责生成,在save()之前手动指定一个
-->
<generator class="native"/> <!-- 自增 -->
</id>
<!--
实体类属性
name:指明实体类属性名(区分大小写)
另外:<property name="name"><column name="name"></column></property>,通过column指定数据库列名
-->
<property name="name"/>
<property name="pwd"/>
</class>
</hibernate-mapping>
PS:源码地址 https://github.com/JsonShare/hibernate-demo
PS:原文地址 http://www.cnblogs.com/JsonShare/p/8681786.html
Hibernate学习(3)- *.hbm.xml详解的更多相关文章
- hibernate笔记--实体类映射文件"*.hbm.xml"详解
实体类就是指普通的POJO,Hibernate并不知道那个实体类对应数据库的哪一张表,所以还需要配置一下,常用的方式就是*.hbm.xml文件[配置与@注解配置,这里介绍前者的详细属性: <?x ...
- 【转】hibernate.hbm.xml详解
在Hibernate中,各表的映射文件….hbm.xml可以通过工具生成,例如在使用MyEclipse开发时,它提供了自动生成映射文件的工具.配置文件的基本结构如下: Xml代码 <?xmlve ...
- 【转】hibernate中的映射文件xxx.hbm.xml详解总结
一.Hibernate映射文件的作用: Hibernate映射文件是Hibernate与数据库进行持久化的桥梁 二,Hibernate映射文件主要内容: (1).映射内容的定义: Hibern ...
- hibernate中的映射文件xxx.hbm.xml详解总结
转自 http://blog.csdn.net/a9529lty/article/details/6454924 一.hibernate映射文件的作用: Hibernate映射文件是Hibernate ...
- hbm.xml 详解总结
转自 http://blog.csdn.net/tuke_tuke/article/details/49717991 一.hibernate映射文件的作用: Hibernate映射文件是Hiberna ...
- Hibernate学习笔记--映射配置文件详解
参考资料: http://blog.163.com/hzd_love/blog/static/13199988120108265317988/ http://www.cnblogs.com/often ...
- 【转】关系映射文件***.hbm.xml详解
http://blog.sina.com.cn/s/blog_7ffb8dd5010144yo.html 附.Oracle使用标准.可变长度的内部格式来存储数字.这个内部格式精度可以高达38位. NU ...
- Hibernate中的事务处理流程详解
一.Hibernate操作的基本流程 使用 Hibernate 进行数据持久化操作,通常有如下步骤: 1.编写持久化类: POJO + 映射文件 2.获取 Configuration 对象 3.获取 ...
- C#中的Linq to Xml详解
这篇文章主要介绍了C#中的Linq to Xml详解,本文给出转换步骤以及大量实例,讲解了生成xml.查询并修改xml.监听xml事件.处理xml流等内容,需要的朋友可以参考下 一.生成Xml 为了能 ...
随机推荐
- 华为中兴借eBay出海 靠零售渠道撬动市场
在跨境电商领域,大多数中国商家依靠“中国制造”的优势和价格战策略打拼出一条血路,在海外市场占领了自己的一席 之地.不过,山寨货纷纷出海的同时,中国本土的品牌商们也开始了探索海外市场之旅.目前,华为.中 ...
- scrum立会报告+燃尽图(第三周第六次)
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 项目地址:https://coding.net/u/wuyy694 ...
- 2014-2015 ACM-ICPC, NEERC, Eastern Subregional Contest Problem H. Pair: normal and paranormal
题目链接:http://codeforces.com/group/aUVPeyEnI2/contest/229669 时间限制:1s 空间限制:64MB 题目大意:给定一个长度为2n,由n个大写字母和 ...
- Java 线程安全问题
线程安全问题产生原因: 1.多个线程操作共享的数据: 2.操作共享数据的线程代码有多条. 当一个线程正在执行操作共享数据的多条代码过程中,其它线程也参与了运算, 就会导致线程安全问题的发生. cl ...
- Storm元数据交互详解
一.Nimbus Nimbus既需要在Zookeeper中创建元数据,也需要从Zookeeper中获取元数据. 如上图箭头1所示: 1.对于路径a,Nimbus只会创建路径,不会设置数据,数据是稍后由 ...
- Qt富文本编辑器QTextDocument
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt富文本编辑器QTextDocument 本文地址:https://www.tech ...
- 【Leetcode】725. Split Linked List in Parts
Given a (singly) linked list with head node root, write a function to split the linked list into k c ...
- puppeteer设置代理并检查代理是否设置成功
1. 设置代理: 这一步超级简单,但我掉到了坑里并扑腾了小一天的时间,那就是:箭头指向处一定一定不要加空格!!! 2. 检查代理是否设置成功: 在打开的浏览器里,打开百度,输入ip,如果查出来的结果跟 ...
- js & right click menu & 鼠标滑词
js & right click menu & 鼠标滑词 // 鼠标滑词 mouseSlipGetWords() { const getSelectionText = () => ...
- 内存测试——内存泄露工具 LeakCanary
项目地址 https://github.com/square/leakcanary 接入方法 1. 配置依赖 dependencies { debugCompile 'com.squareup.lea ...