Hibernate开发文档
hibernate配置
映射约束文件
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
核心配置约束文件
<!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
实体类映射文件配置信息
<hibernate-mapping>
<!-- 让实体类和数据库表进行对应 -->
<class name="com.qixinginc.entity.User" table="tbl_user">
<!-- 让属性和字段进行对应 -->
<id name="uid" column="uid">
<!-- 设置数据库主键id生成策略 -->
<generator class="native"></generator>
</id>
<property name="uname" column="uname"></property>
</class>
</hibernate-mapping>
数据库核心配置文件
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
Hibernate可选配置文件
> 输出sql语句到控制台
<property name="show_sql">true</property>
> 格式化sql语句
<property name="format_sql">true</property>
> 自动创建数据库表和字段
<property name="hbm2ddl.auto">update</property>
> 设置数据库方言
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
> 绑定本地Session线程
<property name="hibernate.current_session_context_class">thread</property>
级联添加
cascade="save-update"
级联删除
cascade="delete"
inverse属性
- [ 解决方案] 一对多放弃一那方的外键维护
false(不放弃维护)/true(放弃维护)
hibernate查询方式
对象导航查询
查询老师名下所有的学生
Teacher teacher=session.get(Teacher.class,1); # 查询ID为1的老师 Set<Student> stuSet=teacher.getSetStudent(); # 查询老师名下所有的学生
OID查询
- 根据id进行查询,返回对象
Teacher teacher=session.get(Teacher.class,1); # 查询ID为1的老师,返回对象
HQL查询
- SQL是查询表和字段
- HQL是查询实体类对象和属性
Query查询对象
from User # 查询所有
select uname from User # 投影查询
query.setFirstResult(0); # 从第几条记录开始
query.setMaxResults(5); # 每页显示的记录数
query.uniqueResult(); # 返回唯一结果的值
HQL多表查询方式
- 内连接
from Teacher t inner join t.SetStudent # 返回数组形式
- 左外连接
from Teacher t left outer join t.SetStudent # 返回数组形式
- 右外连接
from Teacher t right outer join t.SetStudent # 返回数组形式
- 迫切内连接
from Teacher t inner join fetch t.SetStudent # 返回对象类型
- 迫切左外连接
from Teacher t left outer join fetch t.SetStudent # 返回对象形式
hibernate检索策略
- 立即查询:根据ID查询,调用get方法,一调用get方法立马查询数据库
- 延迟查询:根据ID查询,调用load方法,调用load方法不会马上查询数据库,而是得到对象里面值的时候才会发送语句查询数据库
Hibernate开发文档的更多相关文章
- CRMEB系统开发文档
CRMEB系统开发文档 https://gitee.com/ZhongBangKeJi/CRMEB hibernate:学习文档https://blog.csdn.net/u013087513/art ...
- [翻译]开发文档:android Bitmap的高效使用
内容概述 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently",包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存 ...
- Net通用进销存管理系统 + 开发文档+ 使用说明
通用进销存管理系统 + 开发文档+ 使用说明Net源码下载 包括下面的模块基础资料模块采购管理模块库存管理模块商务管理模块营业管理模块维修管理模块会员管理模块财务管理模块 Net通用进销存管理系统 + ...
- C#微信开发文档
C#微信开发文档 开发前准备 微信公众平台链接: https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN 开发初期我们使用测 ...
- 在线API,桌面版,jquery,css,Android中文开发文档,JScript,SQL掌用实例
学习帮助文档大全 jquery,css,Android中文开发文档,JScript,SQL掌用实例 http://api.jq-school.com/
- 基于x86架构的内核Demo的详细开发文档
http://hurlex.0xffffff.org/ 这里是hurlex这个基于x86架构的内核Demo的详细开发文档, 包含PDF文档和生成PDF的XeLaTex源码和文档每章节的阶段代码. 你可 ...
- ECMall模板开发文档
ECMall 模板开发文档 前 言 欢迎阅读 ECMall 模板制作教程,通过阅读本教程可快速上手 ECMall 模板的使用和制作. ECMall 模板制 作要求用户具备 XML . XHTML 和 ...
- AFC项目开发文档整理
AFC项目开发文档整理 PHPCMS 的确是一个伟大的CMS,我对它爱不释手. 标签嵌套无法loop获取的解决办法.关键代码如下: /\*后台添加\*/ $str = preg_replace ( & ...
- QM项目开发文档整理
QM项目开发文档整理 前言 在W公司工作4个多月,庆幸接触到的全是"硬"项目,真枪实干,技术.经验.能力都得到了很大提升. QM项目 此项目WEB前端学到的东西很多,对PHP项目的 ...
随机推荐
- Reshape the Matrix
In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...
- 安装CentOS7精简版后的配置工作
CentOS7完整版有7.7G,太大了下载起来比较费劲,还是下载了精简版,但是精简版安装以后很多命令都没有,还要动手配yum源,按需安装 国内的yum源比较好的就是163的了,配置方法: 1,进入yu ...
- Maven打包Jar
现状 该项目使用了Maven,并且引入了Spring,包含代码.配置文件.Jar包,使用的是IDEA来作为开发工具,项目的产出物是要打包成一个可运行的Jar包.通过IDEA的打包工具也可以打包成功,只 ...
- zoj3953 Intervals 最大不重叠区间加强版 zoj排名第一~
Intervals Time Limit: 1 Second Memory Limit:65536 KB Special Judge Chiaki has n intervals ...
- Java面向对象 IO (一)
Java面向对象 IO (一) 知识概要: (1)IO概述 (2)IO流的常用基类 (3)IO程序的书写 (4)字符流 写入 读取 文本文件的两种读取方式 ...
- hdu 4057--Rescue the Rabbit(AC自动机+状压DP)
题目链接 Problem Description Dr. X is a biologist, who likes rabbits very much and can do everything for ...
- 客户机中PLSQL DEV访问虚拟机中的ORCLE11g,错误百出!
客户机中PLSQL DEV访问虚拟机中的ORCLE11g,错误百出! 创建时间: 2017/10/14 18:44 作者: CNSIMO 标签: ORACLE 忙了一下午,只有两个字形容:麻烦! ...
- RN 常见问题
React/RCTBridgeModule.h not found #import <React/RCTBridgeModule.h> 全部替换为 #import "RCTBri ...
- break和continue 的区别
区别 break和continue都可在循环语句里面使用,也都可以控制外层的循环.但是continue只能在循环语句里面使用,break也可以使用在switch语句里面. break具体作用在循环语句 ...
- SAP资产折旧,消息编号AA687:在上一年结算之后您只能记帐到新的一年
问题:公司****在2015年底没有固定资产,忽略了月结的必要步骤,在2016年1-5月份一直没有计提折旧,再进行折旧时提示"在上一年结算之后您只能记帐到新的一年" 原因: sap ...