
Hibernate
文章平均质量分 86
小飞鹤
这个作者很懒,什么都没留下…
展开
-
Hibernate查询值HQL详解
HQL基本上与sql语句在语法上相仿,只是HQL具有面向对象的特性而已。(本文部分内容是从网络中获取而来)1. 大小写敏感性问题 除了Java类与属性的名称外,查询语句对大小写并不敏感。所以SeLeCT与sELEct以及SELECT 是相同的,但是org.hibernate.eg.FOO并不等价于org.hibernate.eg.Foo并且foo.bar原创 2014-06-23 13:50:10 · 1616 阅读 · 0 评论 -
Hibernate中的inverse详解
场景:customer和order 一对多双向关联[java] view plaincopypublic class Order { private Long orderId; private String orderDetail; private Customer customer;转载 2014-09-09 15:32:52 · 949 阅读 · 0 评论 -
Hibernate高级查询一
1.hibernate查询的6种方法。分别是HQL查询,对象化查询Criteria方法,动态查询DetachedCriteria,例子查询,sql查询,命名查询。 如果单纯的使用hibernate查询数据库只需要懂其中的一项就可以完成想要实现的一般功能,但是从一个点,让我们掌握6中方法,则提供了更多选择。每一种方法都有其适用的情况与前提。HQL查询原创 2014-08-26 18:41:41 · 975 阅读 · 0 评论 -
Hibernate4实战之注解版
Hibernate4实战之Hibernate4注解零配置@Entity,注册在类头上,将一个类声明为一个实体bean(即一个持久化POJO类) 。@Table,注册在类头上,注解声明了该实体bean映射指定的表(table)。@Id用来注册主属性,@GeneratedValue用来注册主属性的生成策略,@Column用来注册属性,@Version用来注册原创 2014-08-27 10:22:11 · 1564 阅读 · 0 评论 -
ThreadLocal管理和获取Hibernate的Session对象
前几天在csdn论坛里面,经常有人问到,如果不用spring,单用hibernate如何来解决延迟加载的问题.无论是立即加载还是延迟加载必须要连接数据库的,而在java中连接数据库是依赖java.sql.Connection,在hibernate中session就是Connection的一层高级封装,一个session对应了一个Connection,要实现延迟加载必须有session才行.原创 2014-09-11 13:59:30 · 1574 阅读 · 0 评论 -
Hibernate注解版多对一关系的几个注意点
1.双向多对一和一对多 注解版双向一对多关系,一是关系维护端(owner side),多是关系被维护端(inverse side)。在关系被维护端需要通过@JoinColumn建立外键列指向关系维护端的主键列。 publicclass Order implements Serializable { privateSet orderIt原创 2014-09-11 13:30:24 · 6192 阅读 · 1 评论 -
hibernate 一对多 分页 criteria 查询
Goods物品表,photo物品照片表,一个物品对应5张照片双向关联映射已经做好了,查goods的时候用的criteria条件查询怎么在查 所有的 goods的时候,同时把每个goods对应的一张photo也查出来 ?贴代码了,太多了,不爱看的不看吧,高手们帮我看一下,我应该怎么写代码,才能在后台和页面取得photoName。就是html代码部分我要拿到photoName,这里怎么原创 2014-09-12 18:02:45 · 2342 阅读 · 0 评论 -
Hibernate的Criteria和DetachedCriteria 查询
最近在项目中使用 Spring 和 Hibernate 进行开发,有感于 Criteria 比较好用,在查询方法设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装。现在对 Hibernate的Criteria 的用法进行总结: Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了原创 2014-09-12 17:44:43 · 3423 阅读 · 0 评论 -
Hibernate中多对多的annotation的写法(中间表可以有多个额外添加的字段)
zhongjianb一般情况下,多对多的关联关系是需要中间表的;情况一:如果中间表仅仅是做关联用的,它里面仅有2个外键做联合主键,则使用ManyToMany(不用写中间表的Model,只需要写出两张主表的model即可)学生表@Entity@Table(name = "T_STUDENT")@SequenceGenerator(name = "SEQ_STUDENT", s原创 2014-09-01 16:55:30 · 1349 阅读 · 0 评论 -
三大框架面试总结
Hibernate 面试题分析1. Hibernate 的检索方式有哪些 ?① 导航对象图检索② OID 检索③ HQL 检索④ QBC 检索⑤ 本地 SQL 检索2. 在 Hibernate 中 Java 对象的状态有哪些 ?①. 临时状态(transient):不处于 Session 的缓存中。OID 为 null 或等于 id 的 unsaved-va原创 2014-09-24 17:35:05 · 1306 阅读 · 0 评论 -
Hibernate使用Ehcahe利用注解方式缓存
合理的缓存应用可以极大地提高系统性能,最简单的是在应用层面做缓存(越高层面做缓存,效果往往越好),直接将数据缓存到服务器中,以全局map方式存储。在使用的时候直接从缓存的map中取,而不用连接数据库,从而提升性能。这种方式简单易行,但是map常驻服务器内存,并且在数据变更(增删改)的时候要手动更新map。 还有一种方式比较通用,就是使用Hibernate二级缓存(Session原创 2014-09-24 17:01:59 · 2191 阅读 · 0 评论 -
Hibernate中对象的状态和生命周期
1. 站在持久化的角度 , Hibernate 把对象分为 4 种状态 : 持久化状态, 临时状态, 游离状态(脱管状态) , 删除状态.Session 的特定方法能使对象从一个状态转换到另一个状态 .2. 临时状态(Transient) : 1). 在使用代理主键的情况下 , OID 通常为 null 2). 不处于 Session 的缓存中原创 2014-11-14 11:20:20 · 783 阅读 · 0 评论 -
Hibernate个人笔记
1.Hibernate API? 应用程序可以直接通过Hibernate API访问数据库,Hibernate API接口分为以下几类: 1.提供访问数据的操作(保存,更新,删除和查询对象)的接口 -- 包括:Session,Transaction,和Query接口 2.用户配置Hibernate的接口 -- Configuration 3.使应用程序拦截Hibernate内部原创 2014-10-17 17:57:06 · 764 阅读 · 0 评论 -
关于Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句 -- 如何提高效率
最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和 @DynamicUpdate如果是在配置文件的话那就是dynamic -insert 和 dynamic-update这两个注解在一定程度上可以增加与数据库操作相关的速度,可以节省SQL语句的执行时间,提高程序的运行效率。使用这两个注解只需要在实体类上加入即可,或者在*.hbm.xm转载 2014-11-20 11:27:12 · 3847 阅读 · 1 评论 -
Hibernate4 拦截器(Interceptor) 实现实体类增删改的日志记录
开发应用程序的过程中,经常会对一些比较重要的数据修改都需要写日志。在实际工作的工程中,这些数据都是存在表中的, 一个常见的做法是用触发器,在增删改的时候,用触发器将数据写入到另一张表中去,但个人不推荐这么做,原因如下:1. 如果有多个表,得写很多触发器。2. 触发器与数据库特性关联太紧,不同的数据库,虽然思路一样,但语法却不太一样。对数据库表操作的日志记录,完全可以利用Hibernat转载 2015-03-31 18:14:46 · 5559 阅读 · 1 评论 -
Hibernate注解关系和例子
Hibernate Annotation关系映射有下面几种类型:1) 一对一外键关联映射(单向)@OneToOne(cascade=CascadeType.ALL)@JoinColumn(name="userid",unique=true) 一对一外键关联,使用@OneToOne,并设置了级联操作。@JoinColum设置了原创 2014-08-22 17:11:58 · 944 阅读 · 0 评论 -
Hibernate注解版关联关系映射全解析+案例
1、Hibernate注解关系处理关系映射在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式以后,发现使用annotation的方式可以更简介,所以这里就简单记录下通过annotation来配置各种映射关系,在hibernate4以后已经原创 2014-08-22 11:33:11 · 2689 阅读 · 1 评论 -
Hibernate知识点总结
Hibernate配置二级缓存: --- 使用EhCache1.hibernate.cfg.xml中配置二级缓存 true org.hibernate.cache.EhCacheProvider 2.在持久化类的映射文件中需要指定缓存的同步策略,关键代码: --- 产品信息字段配置信息原创 2014-06-25 17:03:51 · 923 阅读 · 0 评论 -
注意Hibernate4在开发当中的一些改变
注意Hibernate4在开发当中的一些改变Hibernate4的改动较大只有spring3.1以上版本能够支持,Spring3.1取消了HibernateTemplate,因为Hibernate4的事务管理已经很好了,不用Spring再扩展了。这里简单介绍了hibernate4相对于hibernate3配置时出现的错误,只列举了问题和解决方法,详细原理如果大家感兴趣还是去自己搜吧原创 2014-06-27 14:55:48 · 3344 阅读 · 0 评论 -
hibernate 的 CascadeType 属性
@Entity@Table(name="orders")public class Order {//1-m,多的一方为关系维护端,关系维护端负责外键记录的更新,关系被维护端没有权利更新外键记录private String orderid;private Float amount;private Set items = new HashSet();@Id @Col原创 2014-07-01 13:36:43 · 579 阅读 · 0 评论 -
Hibernate 面试中最常考察的知识点整合
对于Hibernate,面试官最想知道的无非是以下总结这这十多个问题,每个问题都有详细的答案,如果都完全掌握以下的这些问题,那面试时问及Hibernate你还用怕什么呢?让自信伴随着你第一次冲刺吧!一、简述 Hibernate 和 JDBC 的区别、优缺点?JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate在易学性,易用性上有些优势。当原创 2014-07-01 14:10:23 · 716 阅读 · 0 评论 -
Hibernate缓存详解
Hibernate缓存介绍1、缓存介绍Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提原创 2014-07-23 11:45:39 · 1273 阅读 · 0 评论 -
Hibernate查询性能优化技巧
数据库查询性能的提升也是涉及到开发中的各个阶段,在开发中选用正确的查询方法无疑是最基础也最简单的。SQL语句的优化 使用正确的SQL语句可以在很大程度上提高系统的查询性能。获得同样数据而采用不同方式的SQL语句在性能上的差距可能是十分巨大的。 由于Hibernate是对JDBC的封装,SQL语句的产生都是动态由Hibernate自动完成的。Hib原创 2014-07-23 13:53:07 · 14391 阅读 · 3 评论 -
三个框架面试之Hibernate
hibenate的面试总结: 可能现在大家常常还会遇到一个些面试的时候问一些关于hibernate的问题,我个人觉得,这些东西一般做过开发的人在使用上没有任何的问题的,但是如果是要你来说就不一定能够说好的,下面是从goole上找的一些常见的面试。 1.Hibernate session接口的get和load方法有何异同? 答: 其实它们也没有什么不同的,原创 2014-07-23 15:05:21 · 800 阅读 · 0 评论 -
深入理解Hibernate表与表之间的关联,搞懂cascade、inverse、lazy等属性,和注解版Hibernate实例
1.搞定Hibernate表与表之间的关联,搞懂cascade、inverse、lazy等属性原创 2014-07-28 13:34:34 · 9595 阅读 · 1 评论 -
Hibernate二级缓存相关和HQL
usage有是四个属性:transactional:必须在受管的环境下使用,保存可重复读的事务隔离级别,对于读/写比例大,很少更新的数据通常采用这种方式。read-write:使用timestamp机制维护已提交事务隔离级别,对于读/写比例大,很少更新的数据通常采用这种方式。nonstrict-read-writer:二级缓存与数据库中的数据可能会出现不一致的情况。在使用这原创 2014-07-28 13:49:55 · 851 阅读 · 0 评论 -
Hibernate性能优化
1.深入Hibernate一、Hibernate数据查询HQL:Hibernate查询语言,它是Hibernate提供的一种面向对象的查询语言。 (1)在查询语句中设定各种查询条件 (2)支持动态绑定参数(3)支持投影查询、分页查询、连接查询、分组查询,子查询(4) 内置了一些聚集函数 Hibernate中的Query接口就是专门用来执行HQ原创 2014-07-28 13:54:11 · 5430 阅读 · 0 评论 -
hibernate dynamic-insert 和 dynamic-update使用
默认情况下,在hibernate启动的时候,会为每个实体类生成简单的读取,删除,更新,创建语句,它是怎么生成更新的呢,它怎么知道更新的列,生成更新所有列的sql语句,如果值没有修改,则被设置为它的旧值,如果表的列比较多,即使只更新了一个列,也会生成很长的sql语句,必须关闭启动时生成sql语句,hibernate提供了dynamic-insert和dynamic-update属性,用来关闭生成sq原创 2014-08-20 17:48:31 · 3045 阅读 · 0 评论 -
Spring整合Hibernate映射关系注解版 -- 实例
1.多对多原创 2014-08-20 17:31:29 · 3301 阅读 · 0 评论 -
Hibernate注解大全和实战
声明实体Bean@Entitypublic class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; }}@Entity 注解将一个类声明为实体 Bean, @Id 注解原创 2014-08-21 14:11:51 · 1850 阅读 · 2 评论 -
Hibernate重点知识笔记-必看
1.关于mappedBy? 1、mappedBy 含义 -- 拥有方能够自动维护跟被拥有方的关系 2、mappedBy标签一定是定义在 the owned side(被拥有方),它指向 the owning side(拥有方) -- 即 -- 在多的少(one)的一方配置,让多的一方去维护关系,注意 拥有方必须有 该属性 3、只有OneToOne,One原创 2014-08-22 11:51:29 · 3810 阅读 · 0 评论 -
Hibernate核心原理解析
1.核心类加载配置文件1.创建SessionFactory Configuration接口的作用是对Hibernate进行配置 以及对他进行启动 在Hibernate的启动过程中 Configuration类的实例首先定位映射文档的位置 读取这些配置 然后创建一个SessionFactory对象 一个org.hibernate.cfg.Configuration实例代原创 2015-12-14 20:29:05 · 9108 阅读 · 0 评论