详见  http://www.cnblogs.com/biehongli/p/6532800.html

1 <?xml version="1.0" encoding='utf-8'?>

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 <!--

7     第一部分:映射文件:映射一个实体类对象,用来描述一个对象最终实现可以直接保存对象数据到数据库中

8     package(可选):要映射的对象即实体类所在的包,如果不指定package,那么下面所有的类都要指定全路径

9  -->

10 <hibernate-mapping package="com.bie.po">

11     <!-- 操作条件:(1):对象与表/(2):属性与字段的对应/(3):类型的对应,类型默认采用属性的类型,type不写的话

12      -->

13

14     <!-- 第二部分:

15         (1):class:映射某一个对象的(一般情况下,一个对象写一个映射文件,即一个class节点);

16               name:指定要映射的对象的类型,实体类名称;

17               table:指定要映射的表,表名称;

18         (2):主键映射:id

        <!-- 主键自增的 -->

<!--

主键生成策略,查看5.1.2.2.1.apiVarious additional generators

*identify:自增长(mysql,db2)

*native:自增长,会根据底层数据库自增长的方式选择identify或者sequence;

如果是mysql数据库,采用的是自增长方式是identify;

如果是oracle数据库,使用sequence序列的方式实现自增长;

*sequence:自增长(序列),oracle中自增长是以序列方式实现的。

increment:了解,自增长,会有并发访问的问题,一般在服务器集群环境使用会存在问题;

assigned指定主键生成策略为手动指定主键的值

uuid:指定uuid随机生成的序列号,唯一的值,为主键,uuid为string类型的

foreign:外键的方式,one-to-one方式;

-->

19         (3):普通字段映射:property

20             name:指定对象的属性名称;

21             column:指定对象属性对应的表的字段名称,如果不写默认与对象属性一致 ;

22             length:用于指定字符类型长度,比如字符串类型varchar(20),默认长度255;

23             type:用于指定表的字段的类型,如果不指定,会匹配属性的类型,包含两种类型;

24                 java类型:必须写全名,比如java.lang.String,java.util.Date

25                 hibernate类型:比如string,date,都是小写,不能写String(不能首字母大写)

26                 注意:desc关键字,可以使用``(不是shift+~是直接~键)反引号或者改列名

27     -->

28     <class name="User" table="user">

29         <!-- 主键,映射 -->

30         <id name="id" column="id">

31             <generator class="assigned"></generator>

32         </id>

33

34         <!-- 非主键,映射 -->

       <!--

非主键映射,普通字段的映射

name:字段的属性名称,其他字段可以不写;

column:对应的数据表的字段名称;

length:自定字符类型的长度,只能指定字符类型的,如果不指定,默认为255;

type:指定数据表的字段的类型,如果不指定会匹配属性的类型:

java类型:必须写全名,如java.lang.String;

hibernate类型:string类型;直接写类型,都是小写

  -->

35         <property name="name" column="name"></property>

36         <property name="password" column="password"></property>

37         <property name="email" column="email"></property>

38         <property name="phone" column="phone"></property>

39

40

41     </class>

42

43 </hibernate-mapping>

纯代码 以mysql和oracle为例

*****************************************************

<?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">

<hibernate-mapping package="com.bie.po">

<class name="User"  table="user">

<!-- 主键,映射 -->

<id name="id" column="id" type="string">

<generator class="assigned"></generator>

</id>

<!-- 非主键,映射 -->

<property name="name" column="name" type="string"></property>

<property name="password" column="password" type="string"></property>

<property name="email" column="email" type="string"> </property>

<property name="phone" column="phone" type="string"></property>

</class>

</hibernate-mapping>

。。。。。。。。配置详解。。。。。。。。

1. 通常将某个类的映射文件与这个类放在同一目录下

hibernate-mapping 元素包含如下属性

2.class元素

3.id元素属性

4.generator主键生成策略

5.映射普通属性

1-3 hibernate核心对象关系映射 xxx.hbm.xml的更多相关文章

  1. 3hibernate核心对象关系映射 xxx.hbm.xml

    Hibernate的核心就是对象关系映射: 加载映射文件的两种方式: 第一种:<mapping resource="com/bie/lesson02/crud/po/employee. ...

  2. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. hibernate的对象/关系映射结果为空,exists查不到值的问题-20190823

    1: hibernate的对象/关系映射 情景:在使用@onetotone/@manytonone时关联结果为空 原因:在使用这个注解的时候,默认的时crossjoin(交叉连接),在进行查询时以及排 ...

  5. Hibernate的核心对象关系映射

    Hibernate的核心就是对象关系映射: 加载映射文件的两种方式: 第一种:<mapping resource="com/bie/lesson02/crud/po/employee. ...

  6. Hibernate 中对象关系映射(ObjectRelationMapping)

    1.什么是对象关系映射? 解析:对象-关系映射(Object Relational Mapping,简称ORM,对象关系映射)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说, ...

  7. Hibernate:对象关系映射(一对一,一对多,多对一,多对多)

    如需转载,请说明出处:http://www.cnblogs.com/gudu1/p/6895610.html Hibernate通过关系映射来表示数据库中表与表之间的关系,关系映射可以通过两种方式:配 ...

  8. 【转】关系映射文件***.hbm.xml详解

    http://blog.sina.com.cn/s/blog_7ffb8dd5010144yo.html 附.Oracle使用标准.可变长度的内部格式来存储数字.这个内部格式精度可以高达38位. NU ...

  9. Hibernate(开放源代码的对象关系映射框架)

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...

随机推荐

  1. java读取数据写入txt文件并将读取txt文件写入另外一个表

    package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...

  2. 遇到502错误,invalid request block size 解决方法

    uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 因为业务需求,要最多输入350个汉字,在 ...

  3. .net mvc web api 返回 json 内容时过滤值为null的属性

    1.响应内容(过滤前) {"msg":"初始化成功!","code":"","success":tr ...

  4. Java线程编程中isAlive()和join()的使用详解

    一个线程如何知道另一线程已经结束?Thread类提供了回答此问题的方法. 有两种方法可以判定一个线程是否结束.第一,可以在线程中调用isAlive().这种方法由Thread定义,它的通常形式如下: ...

  5. Winform中TextBox控件开启自动提示补全功能

    问题:Winform开发中,有一个TextBox控件用以输入姓名,现希望在输入名字时能够自动提示所有可能的名字. 解答:winform中的TextBox控件含有如下三个属性:   ① AutoComp ...

  6. JFFS2 文件系统及新特性介绍

    简介: JFFS2 是一个开放源码的项目(www.infradead.org). 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用.这篇文章首先分析了在闪存上使用 JFFS2 的必 ...

  7. 【mongodb系统学习之一】mongodb的简单安装

    linux中mongodb的安装(最简单的): 1.下载mongodb安装包,这里用mongodb-linux-x86_64-2.6.9.gz 提供一个下载地址:http://pan.baidu.co ...

  8. USB OTG简介、与普通USB线的区别

    USB有三类接口A类接口                     -----------最常见的扁平接口,四芯  VCC   GND   D+   D- B类接口                    ...

  9. 移动端web开发安卓和ios客户端在时间转换上的差异性问题

    作为一名移动前端开发的人员,平时遇到的兼容性问题不在少数.那么,今天就来说一下最近遇到的一个小坑(关于Android和ios在时间转换上的差异性问题)话不多说,直接上重点. 最近接到了一个需求,很简单 ...

  10. CentOS时钟同步服务器

    ①本地时钟服务器需要安装chrony服务,可以通过yum.rpm.源码包安装,chrony支持C/S模式 ②编辑本地时钟服务,使其指向提供标准时间服务器,例如:中国国家授时中心NTP服务器. 修改配置 ...