Hibernate
文章平均质量分 67
CSC_Cockroach
这个作者很懒,什么都没留下…
展开
-
hql 语法与详细解释
HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。完转载 2016-11-04 16:03:28 · 302 阅读 · 0 评论 -
an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe
这是在一次事务提交时遇到的异常。 an assertion failure occured (this may indicate a bug in hibernate, but is more likely due to unsafe use of the session)net.sf.hibernate.AssertionFailure: possible nonthr转载 2016-10-29 16:07:01 · 1244 阅读 · 0 评论 -
单项映射一对多关联关系
一.在领域模型中, 类与类之间最普遍的关系就是关联关系. 在 UML 中, 关联是有方向的. 二.显然无法直接用 property 映射 customer 属性Hibernate 使用 元素来映射多对一关联关系 元素来映射组成关系name: 设定待映射的持久化类的属性的名字column: 设定和持久化类的属性对应的表的外键class:设定待映射的持久化类的属性原创 2016-10-29 16:25:54 · 428 阅读 · 0 评论 -
双项映射一对多关联关系
一. Hibernate 使用 元素来映射 set 类型的属性二. 元素来映射持久化类的 set 类型的属性name: 设定待映射的持久化类的属性的三. 元素设定与所关联的持久化类对应的表的外键column: 指定关联表的外键名四. 元素设定集合属性中所关联的持久化类class: 指定关联的持久化类的类名五. 元素的 inverse 属性在h原创 2016-10-29 20:41:43 · 679 阅读 · 0 评论 -
hibernate 中设置set的cascade介绍
当关联双方存在父子关系,就可以在 set 处设定 cascade 为 all-delete-orphan所谓父子关系,即指由父方控制子方的持久化圣明周期,子方对象必须和一个父方对象关联。如果删除父方对象,应该级联删除所有关联的子方对象;如果一个子方对象不再和一个父方对象关联,应该把这个子方对象删除。all-deleteorphan 的能力:1. 当保存或更新父方对象时,级联保存或更新所转载 2016-10-29 23:57:07 · 663 阅读 · 0 评论 -
【Hibernate】Hibernate的集合映射与sort、order-by属性
常用集合Set、List、Map,相信大家都很熟悉,面试中也会经常问。Set和List都继承了Collection接口,Set是无序不可重复的,不可以存储相同的元素;而Lsit是顺序存储的,可存储重复元素。Map不是继承Collection的,Map提供key到value的映射,Map也是不可重复的(key不可重复),一个Map中不能包含相同的key,每个key只能映射一个value。持久转载 2016-10-30 00:11:52 · 525 阅读 · 0 评论 -
基于外键映射的 一对一关系
一.二.代码实现1.Departmentpackage cn.edu.sdut.hibernate.onetoone;public class Department { private int deId; private String deName; private Manager mgr; public int getDeId() { return deId原创 2016-10-30 16:13:10 · 1012 阅读 · 0 评论 -
基于主键映射的 一对一关系
一.二.代码1.Department类package cn.edu.sdut.hibernate.onetoone2;public class Department { private int deId; private String deName; private Manager mgr; public int getDeId() { return deId;原创 2016-10-30 17:26:47 · 503 阅读 · 0 评论 -
Hibernate处理同名实体的方法(映射文件)
题外:无奈公司当前进行的项目是多家公司合作开发,说实话这个项目的管理方很烂,烂到不负责任,连各家公司开发的规范化都不做统一,做为我们只拿到其中很小一部分的模块自然也发挥不了决定性和建设性的建议和解决方案,只能顺从别家公司,这种项目只看别人眼色,做的心里很不爽!可是老板只管挣钱根本不会管你项目里面到底会遇到哪些问题,他只管要结果!这不最大的问题出现了: 各家使用的是同一个数据库,各自都创建转载 2016-10-30 17:45:58 · 626 阅读 · 0 评论 -
hibernate 单项多对多关系
一.多对多关系必须借用中间表,要不然不可能完成注意:在多对多关系映射文件里面要设置二.代码1.AItem类package cn.edu.sdut.hibernate.nton;import java.util.HashSet;import java.util.Set;public class AItem { private int aId; private Stri原创 2016-10-31 11:32:48 · 384 阅读 · 0 评论 -
hibernate双向多对多关联
一.注意:1.在持久化类里面写set的时候一定要初始化,否则会出现初始化问题 2.在类关联文件中要设置inverse="true" 双向的时候一边加上就行,否则出现主键冲突-->二.代码1.AItem类package cn.edu.sdut.hibernate.nton;import java.util.HashSet;import java.util.原创 2016-10-31 20:30:01 · 222 阅读 · 0 评论 -
hibernate继承映射
一.Hibernate支持三种继承映射策略:使用 subclass 进行映射:将域模型中的每一个实体对象映射到一个独立的表中,也就是说不用在关系数据模型中考虑域模型中的继承关系和多态。 使用 joined-subclass 进行映射: 对于继承关系中的子类使用同一个表,这就需要在数据库表中增加额外的区分子类类型的字段。 使用 union-subclass 进行映射:域模型中的每个原创 2016-11-01 22:43:38 · 268 阅读 · 0 评论 -
Java 时间和日期类型的 Hibernate 映射及二进制映射及大文本的映射
一.ava 时间和日期类型的 Hibernate 映射在 Java 中, 代表时间和日期的类型包括: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类: java.sql.Date, java.sql.Time 和java.sql.Timestamp, 这三个类分别和标准原创 2016-10-29 13:32:55 · 838 阅读 · 0 评论 -
-映射组成关系
•建立域模型和关系数据模型有着不同的出发点:–域模型: 由程序代码组成,通过细化持久化类的的粒度可提高代码的可重用性,简化编程––在没有数据冗余的情况下, 应该尽可能减少表的数目, 简化表之间的参照关系,以便提高数据的访问速度 ••Hibernate 把持久化类的属性分为两种:–值(value)类型:没有OID,不能被单独持久化,生命周期依赖转载 2016-10-29 13:30:18 · 367 阅读 · 0 评论 -
hibernate4.x映射对象标识符
一.简介Hibernate 使用对象标识符(OID) 来建立内存中的对象和数据库表中记录的对应关系. 对象的 OID 和数据表的主键对应. Hibernate 通过标识符生成器来为主键赋值Hibernate 推荐在数据表中使用代理主键, 即不具备业务含义的字段. 代理主键通常为整数类型, 因为整数类型比字符串类型要节省更多的数据库空间.在对象-关系映射文件中, 元素用来设置对象标识符原创 2016-10-28 21:40:34 · 336 阅读 · 0 评论 -
Hibernate sql操作的三种方法 HQL QBC Native SQL查询
数据查询与检索是hibernate的一个亮点。Hibernate的数据查询方式最主要有3种,它们是:Hibernate Query Language(HQL) Query By Criteria Native SQL下面对这3种查询方式分别进行讲解。Hibernate Query Language(HQL)Hibernate Query Language(HQL)提转载 2016-11-04 22:38:16 · 642 阅读 · 0 评论 -
hibernate的hq,sql,qbc举例
一.Employeepackage cn.edu.sdut.hibernate.hql;public class Employee { private int id; private String name; private float salary; private String email; private Department dept; public int get原创 2016-11-05 00:05:19 · 880 阅读 · 0 评论 -
hibernate的二级缓存操作及session的管理方法及数据的批量处理
一.Departmentpackage cn.edu.sdut.hibernate.erjihuancun;import java.util.HashSet;import java.util.Set;public class Department { private int id; private String name; private Set emps = new H原创 2016-11-05 23:41:47 · 375 阅读 · 0 评论 -
hibernatetools-Update-4.1.1.Final插件安装
在Eclipse(Luna)中安装Hibernatetools插件1、 下载地址:http://tools.jboss.org/downloads/overview.html,该版本为hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip2、 安装Hibernatetools插件a) 点转载 2016-10-25 15:34:42 · 6749 阅读 · 3 评论 -
hlbernate_helloworld
1.首先(F:\javasoft_chajian\)hibernate-release-4.2.4.Final\lib\required的jar包全部复制到项目的lib目录里面,同时bulid path加入路径中2.在安装hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605插件的基础上,在src下建立hibernate.cfg.x原创 2016-10-26 11:44:30 · 299 阅读 · 0 评论 -
Hibernate4.x之Session--常用方法
持久化对象的状态; 站在持久化的角度,Hibernate把对象分为4种状态:持久化状态、临时状态、游离状态、删除状态。 Session的特定方法能使对象从一个状态转换到另一个状态。 临时对象(Transient): 在使用代理主键的情况下,OID通常为null 不处于Session的缓存中 在数据库中没有对应的记录 持久化对象(也叫“托管”原创 2016-10-27 23:33:57 · 290 阅读 · 0 评论 -
session的一级缓存
注:session获取了一个对象然后修改了这个对象的信息,但是session会先去session缓存里面查找是否存在这个对象,如果存在这个对象就不会去数据库访问。注:操作session的方法有flush()、reflush()、clear()这三个方法。1.flush()方法的调用时间(如果持久化类有变化强制使数据库表发生变化)1).flush()方法默认是在事原创 2016-10-26 23:20:56 · 423 阅读 · 0 评论 -
与hibernate有关的数据库的隔离级别
原创 2016-10-28 00:15:56 · 253 阅读 · 0 评论 -
hibernate.hbm2ddl.auto的值的解释和配置
create:表示启动的时候先drop,再createcreate-drop: 也表示创建,只不过再系统关闭前执行一下dropupdate: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新 在本机开发调试初始化数据的时候可以选择create、up转载 2016-10-28 16:32:40 · 613 阅读 · 1 评论 -
hibernate.cfg.xml的常用属性
所有配置属性可以在hibernate-release-4.2.4.Final\documentation\manual\en-US\html_single下面的html-single官方文档里面查找属性一.JDBC 连接属性JDBC 连接属性connection.url:数据库URL connection.username:数据库用户名connection.password:数原创 2016-10-28 16:53:44 · 275 阅读 · 0 评论 -
Hibernate 检索策略属性
一.在里面设置lazy属性,如果是true是指延迟检索,如果是false是立即检索注意:这个属性只适用于session.load()方法,对于session.get()方法和hql查询都是立即检索也就是不起作用二.一对多和多对多的检索策略1.在set中使用lazy属性,lazy取值为false时是指立即检索,是true时是指延迟检索,是extra时是指增强延迟检索当使用延迟检索原创 2016-11-02 17:21:16 · 298 阅读 · 0 评论