1-3 hibernate核心对象关系映射 xxx.hbm.xml
详见 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的更多相关文章
- 3hibernate核心对象关系映射 xxx.hbm.xml
Hibernate的核心就是对象关系映射: 加载映射文件的两种方式: 第一种:<mapping resource="com/bie/lesson02/crud/po/employee. ...
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- hibernate的对象/关系映射结果为空,exists查不到值的问题-20190823
1: hibernate的对象/关系映射 情景:在使用@onetotone/@manytonone时关联结果为空 原因:在使用这个注解的时候,默认的时crossjoin(交叉连接),在进行查询时以及排 ...
- Hibernate的核心对象关系映射
Hibernate的核心就是对象关系映射: 加载映射文件的两种方式: 第一种:<mapping resource="com/bie/lesson02/crud/po/employee. ...
- Hibernate 中对象关系映射(ObjectRelationMapping)
1.什么是对象关系映射? 解析:对象-关系映射(Object Relational Mapping,简称ORM,对象关系映射)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说, ...
- Hibernate:对象关系映射(一对一,一对多,多对一,多对多)
如需转载,请说明出处:http://www.cnblogs.com/gudu1/p/6895610.html Hibernate通过关系映射来表示数据库中表与表之间的关系,关系映射可以通过两种方式:配 ...
- 【转】关系映射文件***.hbm.xml详解
http://blog.sina.com.cn/s/blog_7ffb8dd5010144yo.html 附.Oracle使用标准.可变长度的内部格式来存储数字.这个内部格式精度可以高达38位. NU ...
- Hibernate(开放源代码的对象关系映射框架)
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...
随机推荐
- phpexcle 导出数据 日期格式的问题
在使用phpexcle 读取excle中日期格式的出现了问题.特此记录 gmdate("Y-m-d H:i:s", PHPExcel_Shared_Date::ExcelToPHP ...
- dojo省份地市级联之省份Dao实现类(五)
dojo省份地市级联之省份Dao实现类 ProvinceDaoImpl.java: /** * */ package com.you.dao.impl; import java.util.ArrayL ...
- freemarker自定义标签报错(七)
1.错误描述 六月 09, 2014 11:11:09 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...
- Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Around
1.错误描述 INFO:2015-05-01 11:12:15[localhost-startStop-1] - Root WebApplicationContext: initialization ...
- 获取JSON对象的属性名称
1.问题背景 一个json对象,是以键值对组成,通过循环json对象,获取json对象中的属性名称 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- Filter的注册2
既然Filter是一种COM组件,使用前就必须先注册.Filter的注册程序为regsvr32.exe (位于操作系统目录的system32子目录下).假设现在有一个Filter文件,它的完整路径为C ...
- C# 对象数据转换Json帮助类 JsonHelp
C# 对象数据转换Json帮助类 JsonHelp using System; using System.Data; using System.Configuration; using System. ...
- hdu5904 LCIS
这题惩罚我这种经常不管常数的懒人 直接 1e6 TLE 如果1e5对数组枚举过 诶其实很想吐槽些伤心事,但是还是不想在博客上吐口水 不管今年比赛结果如何 请享受比赛 #include<bits/ ...
- monkeyrunner_获取apk的包名和activity名
一.使用adb获取单个apk的包名和Activity名称: 1.配置adb环境 a. 我的电脑点击右键-属性-高级-环境变量; b. 环境变量中新建PATH,变量值输入adb.exe工具所在目录; ...
- SharedPreferences实现保存用户名功能
1. 简介 SharedPreferences是一种轻型的数据存储方式,通过key-value键值对的方式将数据存储在xml文件中,常用于存储简单的配置信息. 2. 使用方式 2.1 获取Shar ...