hibernate
文章平均质量分 71
l_feilong
这个作者很懒,什么都没留下…
展开
-
Hibernate的五种数据检索方式
Hibernate检索数据的五种方式:1.导航对象图检索方式。(根据已经加载的对象,导航到其他对象。)2.OID检索方式。(按照对象的OID来检索对象。)3.HQL检索方式。(使用面向对象的HQL查询语言。)4.QBC检索方式。(使用QBC(Qurey By Criteria) API来检索对象。)5.本地SQL检索方式。(使用本地数据库的SQL查询语句。)1、导航对象原创 2016-03-02 16:26:29 · 513 阅读 · 0 评论 -
hibernate映射文件set key one-to-many 解释
Set集合映射:Hibernate为集合映射提供了专用的标签元素,Set集合映射,就使用set>标签表示:<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"原创 2016-04-08 18:55:14 · 1727 阅读 · 0 评论 -
hibernate 命名查询
主要内容:1、Hibernate 命名查询的配置2、HIbernate 命名查询的应用原理;将HQL查询语句编写在关系映射文件时,在程序中通过Session的getNameQuery()方法获取该查询语句。CDATA指的是告诉解析器不要解析我 ,留给其他应用程序命名查询语句可以是HQL语句,也可以是本地SQL语句,程序代码也不区分语句的类型,一律通过Session的原创 2016-03-07 10:29:20 · 338 阅读 · 0 评论 -
hibernate 聚合函数
主要内容: 1、聚合函数 2、group by 3、having聚合函数:查询结果作为Long返回count(): 统计符合条件的记录数avg(): 求平均值sum() : 求和max(): 求最大值min(): 求最小值 其他同理group by对查询的数据,根据条原创 2016-03-07 09:42:46 · 1050 阅读 · 0 评论 -
hibernate 分页查询
分页查询query接口提供以下两个用于分页显示查询结果的方法:1、setFirstResult(int firstResult) 设置开始的记录位置2、setMaxResult(int maxResults) 设置每页最大显示页数@Test public void testPageQuery() { String hql = "FR原创 2016-03-07 10:04:37 · 534 阅读 · 0 评论 -
hibernate 查询
Hibernate 基本查询Hibernate 聚合查询和分组查询Hibernate 分页查询和批量查询Hibernate 命名查询 基本查询1、Query接口 Query是HIbernate专门用来执行HQl语句的查询接口,使用方式: Query query = session.原创 2016-03-04 15:25:13 · 293 阅读 · 0 评论 -
hibernate检索策略
hibernate的session在加载一个java对象时,可以将与这个 对象相关联的其他java对象都加载到缓存中,以便程序及时调用。但有些情况下,我们不需要加载太多无用的对象到缓存中,一来这样会撑爆内存,二来,增加了访问数据库的次数,所以为了合理的使用缓存,hibernate提供了几种检索策略来供用户选择。1、立即检索策略2、延迟检索策略3、左外连接检索策略4、程序中显示指定左原创 2016-03-04 09:43:28 · 406 阅读 · 0 评论 -
hibernate 缓存机制
一级缓存1、当session的save()方法持久化一个customer对象时,customer对象被加载到session的缓存中,以后即使应用程序中的引用变量不再引用customer对象,只要session的缓存还没有被清空,customer对象仍然处于生命周期中。2、当session的get()方法试图从数据库中加载一个customer对象时,session先判断缓存中是否已经存在这个原创 2016-03-04 08:19:25 · 224 阅读 · 0 评论 -
hibernate 缓存
hibernate提供的一级缓存hibernate是一个线程对应一个session,一个线程可以看成一个用户。也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和线程绑定了。hibernate一级缓存生命周期很短,和session生命周期一样,一级缓存也称session级的缓存或事务级缓存。如果tb事务提交或回滚了,我们称session就关闭了,生命周期原创 2016-03-03 15:32:36 · 217 阅读 · 0 评论 -
Hibernate中的对象有三种状态
Hibernate中的对象有三种状态: 瞬时状态 (Transient),持久状态 (Persistent),1. 脱管状态 (Detached)1. 1. 瞬时状态 (Transient)由 new 命令开辟内存空间的 Java 对象,也就是平时所熟悉的普通 Java 对象。如: Student stu = new Student();瞬时对象特点:(1) 不和 Sess原创 2016-03-03 15:29:54 · 249 阅读 · 0 评论 -
Hibernate中session的使用
hibernate中的session是一级缓存,可以理解为进程级的缓存。在进程运行期间一直存在。 session可以理解为一个可以操作数据库的对象 具体如何操作数据库? session中有方法, 如果只是单独的hibernate程序的话. 获得session之后,打开事务,操作数据库,提交(回滚事务),关闭session.就这样完成了操作DB ? 在Hibernate原创 2016-03-03 15:27:14 · 448 阅读 · 0 评论 -
优化hibernate性能的几点建议
转载:http://blog.csdn.net/yuhua3272004/article/details/51930551、针对oracle数据库而言,Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100。Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,转载 2016-03-03 11:59:39 · 404 阅读 · 0 评论 -
hibernate Cacheable
今天仔仔细细的看了一下Hibernate的缓存,并做了实例实践了一把。google一下,网上的教程、文章很多。自己小结一下:Hibernate的缓存分为:一级缓存:在Session级别的,在Session关闭的时候,一级缓存就失效了。 二级缓存:在SessionFactory级别的,它可以使用不同的缓存实现,如EhCache、JBossCache、OsCache等。 缓存的注释原创 2016-03-03 11:47:24 · 1109 阅读 · 0 评论 -
hibernate discriminator
可能经常遇到这样的情况: 在数据库表中会有这样的一个字段用来区别记录的属性,如:在客户表中有一个字段表示客户级别,当这个记录为A时是一级客户,为B时是二级客户。在用hiberante做OR表示时类可能是这样的: public class Customer{ private String flag; //表示客户的级别原创 2016-03-03 11:28:23 · 507 阅读 · 0 评论 -
Hibernate的fetch
fetch ,可以设置fetch = "select" 和 fetch = "join"用一对多来举例:fetch ="select"是在查询的时候先查询出一端的实体,然后在根据一端的查询出多端的实体,会产生1+n条sql语句;fetch = "join"是在查询的时候使用外连接进行查询,不会差生1+n的现象。lazy大家应该都熟悉了,就是延迟加载,可以设置lazy = "原创 2016-03-03 10:50:44 · 323 阅读 · 0 评论 -
hibernate抓取策略
出处:http://blog.csdn.net/ychatou1220/article/details/6489881一、hibernate抓取策略(单端代理的批量抓取fetch=select(默认)/join)测试用例:Student student = (Student)session.get(Student.class, 1); System.out.println(s转载 2016-03-03 10:49:19 · 293 阅读 · 0 评论 -
Hibernate 缓存机制
一、why(为什么要用Hibernate缓存?)Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 二、what(Hibernate缓存原理是怎样的?)Hibernate缓存包括两大类原创 2016-03-02 16:49:14 · 271 阅读 · 0 评论 -
hibernate 中注解 一对多 主键中mappedBy的具体使用及其含义
1、@OneToMany(mapped=“由One的一方指向Many的一方,并且,这个属性应该等于Many的一方中含有One类的属性的属性名,否则会出错啦 ”)如:在ClassPO中:@OneToMany(targetEntity=StudentPO.class,mappedBy="myclass",cascade=javax.persistence.CascadeType.A原创 2016-04-10 11:11:52 · 4720 阅读 · 0 评论