hibernate
文章平均质量分 84
Coding-lover
Keep hungry,Keep foolish(可通过微信联系我:unilay_yang)
展开
-
hibernate hql 查询指定字段并获取结果集
在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况: 1.查询全部字段的情况下,如”from 实体类”,list中封装的对象为实体类本身,各属性都将得到填充。 2.只查询一个字段,默认情况下,list中封装的是Object对象。 3.查询两个或两个以上的字段,默认情况下,list中封装的是Object[],长度与所查转载 2015-06-12 16:08:01 · 848 阅读 · 0 评论 -
hibernate 检索策略
概述不浪费内存:当 Hibernate 从数据库中加载 Customer 对象时, 如果同时加载所有关联的 Order 对象, 而程序实际上仅仅需要访问 Customer 对象, 那么这些关联的 Order 对象就白白浪费了许多内存.更高的查询效率:发送尽可能少的 SQL 语句类级别的检索策略类级别可选的检索策略包括立即检索和延迟检索, 默认原创 2014-06-01 17:17:21 · 1300 阅读 · 0 评论 -
hibernate 单向 n-n
域模型: 关系数据模型n-n 的关联必须使用连接表与 1-n 映射类似,必须为 set 集合元素添加 key 子元素,指定 CATEGORIES_ITEMS 表中参照 CATEGORIES 表的外键为 CATEGORIY_ID. 与 1-n 关联映射不同的是,建立 n-n 关联时, 集合中的元素使用 many-to-many. many-to-many 子元素的 class 属性指原创 2014-06-01 11:45:15 · 1093 阅读 · 0 评论 -
hibernate 1-1(详解)
域模型关系数据模型:按照外键映射:按照主键映射:基于外键映射的 1-1对于基于外键的1-1关联,其外键可以存放在任意一边,在需要存放外键一端,增加many-to-one元素。为many-to-one元素增加unique=“true” 属性来表示为1-1关联另一端需要使用one-to-one元素,该元素使用原创 2014-05-31 23:38:27 · 1159 阅读 · 0 评论 -
hibernate set的3个属性
inverse 属性在hibernate中通过对 inverse 属性的来决定是由双向关联的哪一方来维护表和表之间的关系. inverse = false 的为主动方,inverse = true 的为被动方, 由主动方负责维护关联关系在没有设置 inverse=true 的情况下,父子两边都维护父子关系 在 1-n 关系中,将 n 方设为主控方将有助于性能改善(如果要国家元首记住全国原创 2014-05-31 22:52:36 · 1408 阅读 · 0 评论 -
hibernate 对象关系映射文件详解
POJO 类和数据库的映射文件*.hbm.xmlPOJO类和关系数据库之间的映射可以用一个XML文档来定义。映射文件的扩展名为.hbm.xml在运行时Hibernate将根据这个映射文件来生成各种SQL语句通过POJO类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系原创 2014-05-31 16:23:23 · 2190 阅读 · 0 评论 -
hibernate hibernate.cfg.xml各种属性详解
表 3.3. Hibernate配置属性属性名用途hibernate.dialect一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL.取值 full.classname.of.Dialecthibernate.show_sql输出所有SQL语句到控制台. 有一个转载 2014-05-28 20:14:03 · 833 阅读 · 0 评论 -
hibernate session缓存
Session 概述Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法.Session 具有一个缓存, 位于缓存中的对象称为持久化对象, 它和数据库中的相关记录对应. Session 能够在某些时间点, 按照缓存中对象的变化来执行相关的 SQL 语句, 来同步更新数据库, 这一过程被称为刷新原创 2014-05-30 20:57:04 · 1187 阅读 · 0 评论 -
hibernate helloworld
1. 创建数据库Create database hibernate;Use hibernate;Create table student(id intprimary key auto_increment, name varchar(25) not null, age int);Create table admin(id int primarykey auto_increment,转载 2014-05-28 16:19:32 · 804 阅读 · 0 评论 -
hibernate 批量处理数据
批量处理数据是指在一个事务中处理大量数据.在应用层进行批量操作, 主要有以下方式:通过 Session 通过 HQL 通过 StatelessSession 通过 JDBC API(只要会用这种,其他作为了解)通过 Session 来进行批量操作Session 的 save() 及 update() 方法都会把处理的对象存放在自己的缓存中. 如果通过一个原创 2014-06-02 01:55:55 · 2270 阅读 · 0 评论 -
hibernate 双向n-n
域模型: 关系数据模型双向 n-n 关联需要两端都使用集合属性双向n-n关联必须使用连接表集合属性应增加 key 子元素用以映射外键列, 集合元素里还应增加many-to-many子元素关联实体类在双向 n-n 关联的两边都需指定连接表的表名及外键列的列名. 两个集合元素 set 的table 元素的值必须指定,而且必须相同。set元素的两个子元素:key 和 many-to-原创 2014-06-01 11:57:42 · 1217 阅读 · 0 评论 -
hibernate 二级缓存
Hibernate 缓存缓存(Cache): 计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存Hibernate中提供了两个级别的缓存原创 2014-06-02 00:01:15 · 1732 阅读 · 1 评论 -
hibernate ORM的实现原理
1. 什么是ORMORM的全称是Object Relational Mapping,即对象关系映射。它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。2.什么是Hibernate对于Hibernate的称呼有很多,比如工具、技术、框架以及解决方案等,这些都转载 2015-06-21 17:07:42 · 569 阅读 · 0 评论 -
Spring4+Hibernate4+测试驱动开发时发现的有关问题:No session
Spring4+Hibernate4+测试驱动开发时发现的问题:No session (上) 在Service层上配置了切面加入了事务控制,但是在Dao层上没有配置事务。 用Spring-test编写了测试Dao的类,但是运行的时候报错:org.hibernate.HibernateException: No Session found for current threadat org.spr转载 2015-05-07 17:36:57 · 824 阅读 · 0 评论 -
hibernate BaseDao
hibernate BaseDao原创 2015-01-27 10:41:02 · 1390 阅读 · 0 评论 -
hibernate 基于HibernateDaoSupport的三个分页控制方法
直接继承这个工具类就可以了。 package cn.jzy.util; import java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hiberna转载 2014-11-28 23:50:50 · 813 阅读 · 0 评论 -
hibernate 映射的基本操作
Hibernate映射的基本操作 Hibernate映射主要是通过对象关系映射文件实现,对象关系映射文件把数据库中的实体(一般为二维表)映射到面向对象中的实体对象,把数据库中多个表之间的相互关系也反映到映射好的类中。以后,在Hibernate中对数据库的操作转载 2014-09-03 16:35:25 · 830 阅读 · 0 评论 -
hibernate 一对多关联关系(详细分析)
在领域模型中, 类与类之间最普遍的关系就是关联关系. 在 UML 中, 关联是有方向的. 以 Customer 和 Order 为例: 一个用户能发出多个订单, 而一个订单只能属于一个客户. 从 Order 到 Customer 的关联是多对一关联; 而从 Customer 到 Order 是一对多关联单向关联双向关联单向 n-1单向 n-1原创 2014-05-31 19:59:26 · 1108 阅读 · 0 评论 -
hibernate 映射解析——七种映射关系
首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。Hibernate正是实现了这种思想,达到了方便开发人员以面向对象的思想来实现对数据库的操作。 Hibernate在实现OR转载 2014-06-20 20:15:31 · 709 阅读 · 0 评论 -
hibernate 实体关系映射笔记
@常用属性说明: @Entity:实体类 @Table:指定对应数据表 @Id:主键,使用可以为null值的类型,如果实体类没有保存到数据库是一个临时状态 @Column:配置普通属性,除了主键外,java基本类型的属性 @Base:普通属性的加载方式 @GeneratedValue:主键生成策略 @Temporal:日期类型(原创 2014-06-17 22:44:26 · 1185 阅读 · 0 评论 -
hibernate 原理(ORM)及接口
接口可以近似地分为如下几类:由应用调用以完成基本的CRUD和查询操作的接口。这些接口是应用的业务/控制逻辑对Hibernate的主要的依赖点。它们包括Session,Transaction和Query。由应用的底层代码调用以配置Hibernate的接口,最重要的是Configuration类。允许应用对Hibernate内部出现的事件进行处理的回调接口,例如Intercep转载 2014-05-28 20:42:39 · 1147 阅读 · 0 评论 -
hibernate 持久化对象的状态
站在持久化的角度, Hibernate 把对象分为 4 种状态: 持久化状态, 临时状态, 游离状态, 删除状态. Session 的特定方法能使对象从一个状态转换到另一个状态.持久化对象的状态临时对象(Transient): –在使用代理主键的情况下, OID 通常为null–不处于 Session的缓存中–在数据库中没有对应的记录持久化对象(原创 2014-05-30 23:13:53 · 1132 阅读 · 0 评论 -
hibernate 各种映射的配置文件总结
1.多对一单向映射(User-Group)转载 2014-05-28 22:31:35 · 619 阅读 · 0 评论 -
hibernate 4.0+版本和3.0+版本的区别总结
1.数据库方言设置org.hibernate.dialect.MySQL5Dialect在3.3版本中连接MySQL数据库只需要指明MySQLDialect即可。在4.1版本中可以指出MySQL5Dialect2.buildSessionFactory4.1版本中buildSessionFactory()已经被buildSessionFactory(ServiceR转载 2014-05-28 17:41:10 · 1207 阅读 · 0 评论 -
hibernate hibernate.cfg.xml配置
Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件。下面讲一下Hibernate.cfg.xml的配置。配置格式如下:1. 配置数据源 在Hibernate.cfg.xml中既可以配置JDBC,也可以配置JNDI。在本小节中讲述数据源如何配置。hibernate.cfg.xml<!DOCTYPE hibernate-转载 2014-05-28 20:05:13 · 723 阅读 · 0 评论 -
hibernate hibernate4详解
表名和类名不同的情况时,对表名进行配置 1 在注解中 import javax.persistence.Table; @Table(name=”TableName”) 2 在XML文件中 配置对应的table属性为相应的表名 … 字段名和属性名相同,默认为 对于annotation,如果什么注解都不写的话,相当于加了注解@Basic 实转载 2014-05-28 22:02:47 · 1439 阅读 · 0 评论 -
iBATIS、Hibernate跟JPA 简介与对比
iBATIS、Hibernate和JPA:哪一款最适合你在本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persistence API(JPA)。我们介绍每种解决方案并讨论其所规定的品质,以及在广泛的应用场景中其各自的长处和缺点。然后我们会基于诸如性能、移植性、复杂性以及对数据模型改变的适应性等因素来比较iBATIS、Hibernate和J转载 2014-07-18 20:18:28 · 2203 阅读 · 0 评论 -
hibernate hibernate4之JPA规范配置详解
@Table Table用来定义entity主表的name,catalog,schema等属性。 属性说明: name:表名catalog:对应关系数据库中的catalogschema:对应关系数据库中的schemaUniqueConstraints:定义一个UniqueConstraint数组,指定需要建唯一约束的列转载 2014-05-28 21:09:11 · 1150 阅读 · 0 评论 -
hibernate 管理 Session(单独使用session,非spring)
Hibernate 自身提供了三种管理 Session 对象的方法Session 对象的生命周期与本地线程绑定Session 对象的生命周期与 JTA 事务绑定Hibernate 委托程序管理 Session 对象的生命周期在 Hibernate 的配置文件中, hibernate.current_session_context_class 属性用于指定 Ses原创 2014-06-02 01:37:16 · 1753 阅读 · 0 评论 -
hibernate 检索方式
概述Hibernate 提供了以下几种检索对象的方式导航对象图检索方式: 根据已经加载的对象导航到其他对象OID 检索方式: 按照对象的 OID 来检索对象HQL 检索方式: 使用面向对象的 HQL 查询语言QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查原创 2014-06-01 20:32:59 · 1178 阅读 · 0 评论 -
hibernate 关联关系映射配置
Hibernate关联关系映射配置一、 一对一单向外键关联:1.1目录结构转载 2014-05-29 11:09:57 · 957 阅读 · 0 评论 -
hibernate 关联关系映射目录
一对一外键单向关联转载 2014-05-29 18:43:24 · 1287 阅读 · 0 评论 -
hibernate 选用ibatis和hibernate的区别
Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完转载 2014-06-13 18:54:14 · 815 阅读 · 0 评论 -
hibernate 双向 1-n(详细分析)
双向 1-n 与 双向 n-1 是完全相同的两种情形双向 1-n 需要在 1 的一端可以访问 n 的一端, 反之依然.域模型:从 Order 到 Customer 的多对一双向关联需要在Order 类中定义一个 Customer 属性, 而在 Customer 类中需定义存放 Order 对象的集合属性关系数据模型:ORDERS 表中的 CUSTOMER_ID 参照 CUSTOMER 表的原创 2014-05-31 21:45:15 · 1161 阅读 · 0 评论 -
hibernate 大对象类型的hibernate映射
基本知识:在 Java 中, java.lang.String 可用于表示长字符串(长度超过 255), 字节数组 byte[] 可用于存放图片或文件的二进制数据. 此外, 在 JDBC API 中还提供了 java.sql.Clob 和 java.sql.Blob 类型, 它们分别和标准 SQL 中的 CLOB 和 BLOB 类型对应. CLOB 表示字符串大对象(Character原创 2014-05-31 17:08:46 · 1959 阅读 · 0 评论 -
hibernate 使用C3P0数据源
1.导入jar包:hibernate-release-4.3.5.Final/lib/optional/*.jar2.加入配置: 10 5 2 2000 2000 10hibernate.c3p0.max_size: 数据库连接池的最大连接数hibernate.c3p0.min_size:原创 2014-05-30 23:39:19 · 1160 阅读 · 0 评论 -
hibernate 单元测试框架
hibernate在写数据库配置文件时非常的不确定,必须进行必要的测试保证数据库结构的正确性。所以可以应用junit进行测试。使用junit非常简单,eclipse只需要右键项目新建一个junit test case即可(填写类名和包名)。然后在对应位置写对应的代码运行测试即可。下面给出一个常用的hibernate测试框架:package com.atguigu.hibernate.e原创 2014-05-30 15:49:27 · 1196 阅读 · 0 评论 -
hibernate hibernate.hbm2ddl.auto属性
hibernate配置属性中,hibernate.hbm2ddl.auto可以帮助你实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构. 在hibernate.cfg.xml中: Java代码 它包含4个属性: create : 会根据你的model类来生成表,但是每次运行都会删除上一次的表,重新生成表,哪怕2次没有任何改变cre转载 2014-05-28 20:56:37 · 1056 阅读 · 0 评论 -
hibernate Tools Eclipse 插件安装
Hibernate Tools 简介: Hibernate Tools是由JBoss推出的一个Eclipse综合开发工具插件,该插件可以简化ORM框架Hibernate,以及JBoss Seam,EJB3等的开发工作。Hibernate Tools可以以Ant Task以及Eclipse插件的形式运行。 Mapping Editor(映射文件编辑器):该编辑器可以用来编辑转载 2014-05-30 11:33:35 · 1051 阅读 · 0 评论 -
hibernate 映射组成关系
建立域模型和关系数据模型有着不同的出发点:域模型: 由程序代码组成, 通过细化持久化类的的粒度可提高代码的可重用性, 简化编程在没有数据冗余的情况下, 应该尽可能减少表的数目, 简化表之间的参照关系, 以便提高数据的访问速度Hibernate 把持久化类的属性分为两种: 值(value)类型: 没有 OID, 不能被单独持久化, 生命周期依赖于所属的持久原创 2014-05-31 19:16:21 · 1060 阅读 · 0 评论