Hibernate
Hibernate
时间辜负了谁
成功思维者,是把“不可能”变成“可能”
展开
-
hibernate 的hql查询语句总结
在这里通过定义了三个类,Special、Classroom、Student来做测试,Special与Classroom是一对多,Classroom与Student是一对多的关系,这里仅仅贴出这三个bean的属性代码:Special类:public class Special{ private int id; private String name; priva转载 2014-12-17 21:13:43 · 948 阅读 · 0 评论 -
hibernate 执行sql ,select 返回String ,Long
1.执行sql,返回一个结果集,适用查询一个字段并返回一条记录public Long findSeqTbTest() { String sql = "select SEQ_TB_TEST.nextval from dual"; SQLQuery query = this.getSession().createSQLQuery(sql); Stri转载 2015-05-19 09:27:19 · 977 阅读 · 0 评论 -
hibernate加载数据load 和 get 的区别
hibernate加载数据load和 get 的区别get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null 2.从检索执行机制上原创 2014-11-24 20:46:10 · 1293 阅读 · 2 评论 -
hibernate blob和clob注解@Lob
@Lob注解表示属性将被持久化为Blob或者Clob类型, 具体取决于属性的类型,java.sql.Clob, Character[],char[] 和 java.lang.String这些类型的属性都被持久化为Clob类型, 而java.sql.Blob,Byte[], byte[] 和 serializable类型则被持久化为Blob类型.@Lobpublic String原创 2014-12-22 09:20:43 · 6803 阅读 · 0 评论 -
深入hibernate的三种状态
本篇随笔将会以大量的测试用例来掩饰hibernate的这三种状态的转变,相信看完本篇随笔的你会对hibernate的那三种状态有更深入的理解。1.TestTransientsession = HibernateUtil.openSession(); session.beginTransaction(); User user = new U转载 2014-12-17 15:47:52 · 711 阅读 · 0 评论 -
hibernate annotation处理映射关系
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式以后,发现使用annotation的方式可以更简介,所以这里就简单记录下通过annotation来配置各种映射关系,在hibernate4以后已经将annotation的jar包集成进来了,如果使用h转载 2014-12-17 21:28:25 · 688 阅读 · 0 评论 -
Hibernate 三种状态(瞬时,持久,脱管)的区分
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态 Transient 由new命令开辟内存空间的java对象, eg.转载 2014-12-17 15:02:08 · 1797 阅读 · 0 评论 -
hibernate的原生 sql查询
在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hibernate推荐的HQL查询语句呢?这是因为HQL查询语句虽然方便我们查询,但是基于HQL的查询会将查询出来的对象保存到hibernate的缓存当中,如果在我们的一个大型项目中(数据量超过了百万级),这个时候如果使用hibernate的HQL查询的转载 2014-12-17 21:21:40 · 1060 阅读 · 0 评论 -
hibernate 主键生成策略
1. Assigned意义:由用户设置使用: 在程序中动态设置主键值, 这要求用户的算法相当严谨, 在并发访问时不会产生冲突. 2. Hilo意义: 高低位算法, hi代表高位, lo代表低位. 整个单词的意思就是, 产生一个高位数据和一个低位数据, 使用: my_unique_key next_原创 2014-12-17 14:37:47 · 708 阅读 · 0 评论 -
hibernate 缓存机制详细分析
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:list()获得对象转载 2014-12-17 17:20:13 · 768 阅读 · 0 评论 -
Hibernate分页(sql和hql)两种方法
1、Hibernate原生sql分页@Transactional public PagerBean findModelLabelAll(PagerBean pager, String dataSource) { PagerBean pagerDto = null; try { Session session = sessionFa原创 2015-08-29 11:16:58 · 20749 阅读 · 1 评论