
框架@Hibernate
文章平均质量分 76
schy_hqh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hibernate基础
---------------------》》》》》》》》》》》》》hibernate01_basichibernate 基本知识1.Configuration 调用config()默认加载类路径下的hibernate.cfg.xml配置2.SessionFactory 管理Session,缓存,事务3.Session非线程安全的,一个session会话只能由一个线程执行4.hibern...原创 2013-11-21 21:28:38 · 93 阅读 · 0 评论 -
Hibernate基于配置文件(十二)一对一双向关联映射
一对一关联关系,当需要对2个对象进行独立对待时,分2个类来完成映射 主键关联映射,没有额外字段维护关联,id值保持一致package org.leadfar.hibernate.model;public class Person { private long id; private String name; private IdCard idcard; ...原创 2014-02-20 16:50:10 · 121 阅读 · 0 评论 -
Hibernate基于配置文件(十三)多对多双向关联映射及其拆分
多对多关联,都会引入第三张表package org.leadfar.hibernate.model;import java.util.HashSet;import java.util.Set;public class Person { private int id; private String name; private Set<Role&...原创 2014-02-20 16:50:27 · 140 阅读 · 0 评论 -
Hibernate基于配置文件(十四)组合映射Component
组合关系--体现整体与部分同存同亡--数据存储到一张表中,提交检索速度--数据都在一张表中,不存在延迟加载的问题,使用load或get都一样--一个类持有多个component,字段需取别名以示区分 package org.leadfar.hibernate.model;public class Person { private int id; private String...原创 2014-02-20 16:50:40 · 134 阅读 · 0 评论 -
Hibernate基于配置文件(十五)集合映射List、Map
对方是实体类用关联映射 one-to-many many-to-one 等对方不是一个实体类,比如String,Integer.Address(无id字段)等,用集合来存储---集合映射ListSetMap删除的时候,会自动删除对应的表中的所有数据(类似于级联删除) =======================================================...原创 2014-02-21 23:22:05 · 233 阅读 · 0 评论 -
Hibernate基于配置文件(十六)HQL查询、Criteria查询、原生SQL查询
HQL查询 package org.leadfar.hibernate.model;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import java.util.List;...原创 2014-02-21 23:22:27 · 177 阅读 · 0 评论 -
Hibernate基于配置文件(十八)抓取策略,优化查询
抓取策略: 什么是抓取策略? 即拥有了一个实体对象,想要得到它的关联对象的策略 什么是批量抓取策略? 即拥有了一批实体对象,想要得到这批实体对象的关联对象的策略---------------------------------------------------------------------------------在many-to-one/one-to-one上面(多的一端,...原创 2014-02-21 23:22:58 · 148 阅读 · 0 评论 -
Hibernate基于配置文件(十九)并发访问与乐观锁
并发访问 可能引发的问题:更新丢失(A线程把name属性改了,B线程马上改age属性,但是B线程中的name属性仍然是改之前的值,这就造成了A线程对name的更新丢失了) ------------------------解决方案 *悲观锁 LockOptions.UPGRADE 虽然可以保证多线程下并发访问数据不会造成数据混乱---for update 但是,锁...原创 2014-02-21 23:23:11 · 212 阅读 · 0 评论 -
Maven&Hibernate
有一段时间没用Hibernate了,今天练习Maven的时候用到Hibernate操作数据库,结果很无语。好多东西都忘了。。。 首先,编写POM.xml,引入Hibernate所需的jar包只需要制定hibernate-core,Maven就会自动下载hibernate-core.jar,以及hibernate需要的其它jar包如果没有自动下载其它依赖包,在进行对象保存时,...原创 2013-10-03 01:54:22 · 117 阅读 · 0 评论 -
Spring3与Hibernate进行集成(使用注解)
首先写POM.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apa...原创 2014-03-15 23:32:34 · 212 阅读 · 0 评论 -
Hibernate基于配置文件(二十)Hibernate进行批处理
Hibernate中的批处理,实质上是对JDBC的批处理进行配置 要使用批处理插入数据,id生成策略不能是native策略,可以是uuid或者hilo批量数据获取 属性:hibernate.jdbc.fetch_size *MYSQL不支持,ORACLE支持批量数据提交(极大的提高了批量执行的效率) 属性:hibernate.jdbc.batch_size ...原创 2014-03-16 14:34:03 · 266 阅读 · 0 评论 -
Hibernate注解---抓取策略
package com.gc.sis.core;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.FetchType;impor...原创 2014-03-16 14:35:31 · 322 阅读 · 0 评论 -
Hibernate基于配置文件(十一)多对一双向关联树形结构的映射
使用Hibernate建立树形结构 递归查询子节点,会发出N多次select查询可以在Node中定义一个字段,额外记录其与parent的id间的关系,如1|3|6|12然后使用like进行模糊查询,只需要查询1次即可找出所有的child。虽然模糊查询慢,但只发出1条语句,所以效率可能比发出N多次递归查询快! 实体类package org.leadfar.hibe...原创 2014-02-20 16:49:54 · 133 阅读 · 0 评论 -
Hibernate基于配置文件(十)多对一双向关联
多对一双向关联 重要属性 inverse=true作用:强制在多的那端维护关联,避免在一的一端对集合操作出现问题,因为操纵集合维护关系有很多注意事项,一不留神就会出现问题!设置inverse=true后,对集合进行操作,不会对关联进行设置比如,对一端的内容进行修改,不管怎么改,关联关系仍然存在,因为强制由多端去维护!inverse=true,不影响查询(从一端获取集...原创 2014-02-20 16:49:38 · 146 阅读 · 0 评论 -
Hibernate结合JAXB的另类用法
颠覆一下Hibernate的一般用法一对多关系时,一般都是在多的一端维护关联关系,但不一定任何时候都好用!!! 特定场景:需要在一的一端维护关系。使用JAXB进行对象转xml的时候,这样做非常方便!多的一方不能持有一的一方的引用,否则在转换XML的时候会循环调用导致失败! POM<project xmlns="http://maven.apache.o...原创 2013-11-21 23:04:37 · 211 阅读 · 0 评论 -
Hibernate常识
OR映射 对象关系映射Hibernate对JDBC进行了封装,面对对象进行操作,底层仍然是JDBCHibernate以对象之间关系的映射为核心关注对象之间的映射关系(一对一,多对一,多对多)通过对象找到其它对象---面向对象,将表间的关联查询进行了转换 类与数据库中的表映射内存中的一个对象映射为表中的一行对象的属性与表的字段映射 Hibernate操作...原创 2013-11-24 00:38:30 · 87 阅读 · 0 评论 -
Hibernate基于配置文件(一)快速开始
Hibernate配置文件<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hiber...原创 2013-11-24 20:22:08 · 90 阅读 · 0 评论 -
Hibernate基于配置文件(二)内存中实体类对象的状态
持久化对象的三种状态*瞬时状态 -刚被new出来,尚未session.save() *持久化状态 -必定会有数据库标识值 -被session所管理的对象就是持久化对象,也就是处于持久化状态 -处于持久化状态的对象,其状态值(被映射的那些属性值)将自动与数据库同步 -(对象状态值有改变,则hibernate自动发出update语句,没有变化,即使显示调用session.upd...原创 2013-11-24 20:22:23 · 125 阅读 · 0 评论 -
Hibernate基于配置文件(三)get()与load()的区别
首先,Hibernate默认开启懒加载策略!是Hibernate推崇的一种提高性能的方法! get()与load()都用于加载已存在id值的对象到内存中区别:get()get()马上发出SQL语句查询相关对象get()操作的对象如果不存在,抛NullPointerExceptionget()返回的是原始对象 load()load()使用Hibernate...原创 2013-12-08 00:21:50 · 106 阅读 · 0 评论 -
Hibernate基于配置文件(四)evict()与merge()的使用
evict()与merge()都用于解决:内存中存在2个id相同的对象,session发现对象不唯一而抛出异常。 package org.leadfar.hibernate.model;import java.util.Date;import junit.framework.TestCase;import org.hibernate.Session;...原创 2013-12-08 00:22:22 · 297 阅读 · 0 评论 -
Hibernate基于配置文件(五)ID生成策略及其对效率的影响
实体类的ID生成策略 主键选用原则--无意义字段/非业务主键不能修改主键是程序实现上利用的,与客户的实际业务无关---逻辑主键,没有业务上的意义因为主键与业务无关,也就防止了被修改的可能性id生成策略---解决了id生成的方式--由hibernate来完成,程序员不需要考虑,完全由hibernate进行管理<id name="id"> <gene...原创 2014-02-16 20:08:05 · 162 阅读 · 0 评论 -
Hibernate基于配置文件(六)普通属性映射
<property name="username" column="uname" length="50"/> 常用属性:type 一般由hibernate自动匹配(integer,string,character,date,timestamp,float,blob,binary等)length 指定字段长度column 指定列名,对于属性名与数...原创 2014-02-16 20:08:19 · 127 阅读 · 0 评论 -
Hibernate基于配置文件(七)关联关系的分析(重点)
关联的4个基本特性 关联名称:给关联一个理由只有明确了关联的理由,才能正确分析对象之间的关系学生现在属于某个班级:多对一;学生曾经属于某个班级:多对多(数据库中引入第3张表保存关联关系) 多重性:一对一、多对一、一对多、多对多 角色名称:即角色代表的类在对方类中的属性名称(引用名称)在某一端持有对方的引用,引用的名称就是对方相对于本方的角色名称S...原创 2014-02-16 20:08:34 · 129 阅读 · 0 评论 -
Hibernate基于配置文件(八)多对一单向关联映射
多对一单向关联,只能从多的一端导航到一的一端 实体类package org.leadfar.hibernate.model;public class ContactPerson { private int id; private String name; private Group group; public ContactPerson(...原创 2014-02-16 20:08:51 · 134 阅读 · 0 评论 -
Hibernate基于配置文件(九)一对多单向关联映射
单向一对多关联一:group Set存储contactPerson对象多:contactPerson 在一的一方维护关联关系一端持有多方的引用,为一个集合,Set集合比较常用 单向一对多关联---lazy延迟策略set集合上可以定义的lazy属性: -true 默认 -false -extra --> 除非访问到对象属性,否则不会发出查询对...原创 2014-02-16 20:09:06 · 168 阅读 · 0 评论 -
Hibernate3_NEW
JAP是一个规范,Hibernate是该规范的一种实现 DAO 模式 Data Access Object将数据访问与业务逻辑相分离Service层完全不关心DAO层如何与数据库交互,只需要将请求交给DAO层即可 POJO Plain Ordinary Java Object 没有业务逻辑代码的值对象 PO Persistence Object 进行数据存...原创 2014-03-16 16:14:20 · 315 阅读 · 0 评论