Hibernate4教程
熏肉大饼
just do it!
展开
-
HIbernate第一课--基本原理,配置
http://blog.csdn.net/tanyit/article/details/6987279#_Toc251597268参考马士兵一 基本原理二 配置(一)基本原理:Hibernate是一个轻量级的ORMapping框架1. ORMapping的基本对应规则a) 类与表b)类属性与表字段原创 2017-07-22 23:28:33 · 571 阅读 · 0 评论 -
Hibernate问题 failed to lazily initialize a collection of role
failed to lazily initialize a collection of role问题原因:事务配置在Service上,(一对多,多对一,多对多)映射的类是被代理的默认加载是Lazy = true所以没有加载事务且,当主类执行完事务关闭,就没有了session解决办法:方法1. @Lazy(value=false)缺点:大量数据时,原创 2017-07-23 00:03:24 · 583 阅读 · 0 评论 -
Hibernate删除,添加问题
当单向多对多,单向一对多,删除其中没有维护的一方的数据时,因为没有级联关系,需要手动取消关联关系,然后才能删除,不然因为外键报错BUser-单向多对多->RoleBUserpackage com.cpic.shz.entity; import java.util.Arrays;import java.util.Date;import java.util.Se原创 2017-07-22 23:34:06 · 343 阅读 · 0 评论 -
Hibernate第七课--事务,悲观锁,乐观锁
一 事务二 悲观锁三 乐观锁一 事务(一)、 数据库的隔离级别:并发性作用。1、 ReadUncommited(未提交读):没有提交就可以读取到数据(发出了Insert,但没有commit就可以读取到。)很少用2、 ReadCommited(提交读):只有提交后才可以读,常用3、 RepeatableRead(可重复读):mysql默原创 2017-07-22 23:32:31 · 320 阅读 · 0 评论 -
Hibernate第六课--1+N问题和缓存
一 1+N问题二 一级缓存三 二级缓存四 查询缓存一 1+N问题1. 注意session.clear运用,尤其是在分页循环可能内存泄露 //2. 1+N问题(一对多,多对一时 一个对象外键连接另一个对象默认设置fetch = eger时,默认加载关联的对象,所以将A对象外键链接的B类所有数据查询)a) lazy(fetch = lazy)原创 2017-07-22 23:32:13 · 361 阅读 · 0 评论 -
Hibernate第五课--查询
一、 Hibernate可以使用的查询语言1、 NativeSQL:本地语言(数据库自己的SQL语句)2、 HQL :Hibernate自带的查询语句,可以使用HQL语言,转换成具体的方言3、 EJBQL:JPQL 1.0,可以认为是HQL的一个子节(重点)4、 QBC:Query By Cretira5、 QBE:Query By Example注原创 2017-07-22 23:31:51 · 412 阅读 · 0 评论 -
Hibernate第四课--HIbernate三大状态转换
瞬时态(Transient):刚new的一个对象(JVM存在,session缓存中没有,数据库不存在)持久态(Persistent):存储到数据库(JVM存在,session缓存存在,数据库存在)脱管态(Detached):session缓存关闭(JVM存在,session缓存不存在,数据库存在)Session方法:session.sav原创 2017-07-22 23:31:26 · 270 阅读 · 0 评论 -
Hibernate第三课--级联关系,关联关系,集合和继承映射
级联关系关联关系集合关系继承关系Node树形节点级联关系1. CascadeType.PERSIST:级联新增(又称级联保存):对order对象保存时也对items里的对象也会保存。对应EntityManager的presist方法 例子:只有A类新增时,会级联B对象新增。若B对象在数据库存(跟新)在则抛异常(让B变为持久态) 2. Ca原创 2017-07-22 23:30:59 · 525 阅读 · 0 评论 -
HIbernate第二课--基本注解,主键生成策略
一 基本注解二 主键生成策略(一) 字段映射处理1.1 不需要(持久化)persistence的对象@Trasient注解:@Transient public String getTitle() { return title; } 1.2 映射日期与时间类型,指定时间精度@Tem原创 2017-07-22 23:29:59 · 309 阅读 · 0 评论 -
Hibernate-Helloworld入门实例
Hibernate4有三种实现方式1. hbm.xml2. annotaion3. jpa这里使用的是annotation放式关于报错Table.indexes()问题@Table与@Entity冲突Jpa中@Entity@Table(name = “table_name”)但是annotation方式就不能这么使用会出现映射两个表Table.i原创 2017-07-22 23:29:31 · 329 阅读 · 0 评论 -
Hibernate多对多_查询
user -> role单向多对多 通过role.id查询user的数据 String hql = "select bu from BUser bu left join " + " bu.roles r where r.id = ? ";BUserpackage com.cpic.shz.entity; import java.uti原创 2017-07-23 00:05:11 · 382 阅读 · 0 评论