![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ORM
iteye_17821
这个作者很懒,什么都没留下…
展开
-
iBatis初体验
1.什么是iBatisiBatis属于ORM范畴,但它仅相当于半个ORM,因为使用iBatis仍然要写SQL,而不是SQL全部由ORM工具自动生成,iBatis更关注SQL所需参数,以及SQL返回的结果集到POJO的映射。优势:1)应用的持久层操作的是数据对象,而非jdbc的ResultSet,减轻了持久层的工作量,并使代码更加清晰、简洁。2)对于性能要求高的,可以针对SQL做...2015-01-02 18:41:42 · 78 阅读 · 0 评论 -
JPA之生命周期管理(二)
1 JPA状态转换图 [img]http://dl2.iteye.com/upload/attachment/0106/6739/62975871-8855-382a-8973-61dc86d75441.gif[/img]要理解JPA的核心接口,这个图必须牢记。分为4种状态:1)New状态:未有id,未与Persistence Context建立关联关系。2)M...2015-03-15 19:40:14 · 202 阅读 · 0 评论 -
JPA之HelloWorld(一)
[b]1 JPA概述[/b]JPA是[color=red][b]J[/b][/color]ava [color=red][b]P[/b][/color]ersistence [color=red][b]A[/b][/color]PI的简称,是Sun推出的J2EE规范之一,是ORM规范,Hibernate,TOPLink,OpenJPA等框架提供了JPA实现。JPA是Hibernate的作者主导...2015-03-14 21:29:23 · 135 阅读 · 0 评论 -
Hibernate HQL检索
1 什么是HQLHQL是Hibernate提供的其中一种检索方式,也是Hibernate使用最为广泛的检索方式。HQL同SQL语言相似,熟悉了SQL语言以后,学习HQL是非常容易的。Hibernate提供了Query接口,它是Hibernate提供的专门的HQL查询接口。2 使用别名Query query = session.createQuery("from Course...2015-01-11 13:29:19 · 95 阅读 · 0 评论 -
Hibernate Java对象的3种状态
1状态转换图。 [img]http://dl2.iteye.com/upload/attachment/0105/0887/ce22f944-48ed-3569-b54e-cdd053e88a1f.jpg[/img]2 三种状态2.1 临时状态(transient)刚刚new创建的对象,还未与session关联。2.2 持久化状态(persistent)已经...2015-01-09 13:36:15 · 74 阅读 · 0 评论 -
Hibernate的三种检索策略
1 N+1问题Hibernate的Session缓存中存放的是相互关联的对象图,默认情况下,当从数据库中加载一个对象的时候,会同时加载它所关联的其他对象。例如:Clazz(班级)跟Student(学生)是1:N关联关系。Clazz对象中有Student对象的集合。具体例子可参见笔者的另一篇文章,《Hibernate初体验》[url]http://frank1234.iteye.com/blog...2015-01-08 21:05:56 · 258 阅读 · 0 评论 -
Hibernate Session缓存
当Session的save()方法持久化一个对象时,这个对象就被加入到Session的缓存中。当Session的查询方法试图从缓存中加载这个对象时,Session先判断缓存中是否存在这个对象,如果存在,就不再去数据库中检索。Session缓存的2大作用:1)提高性能。由于从缓存中查询而不再去数据库中查询,所以提升了性能,减少了数据库访问。2)合并SQL。例如:Clazz ...2015-01-08 21:02:38 · 69 阅读 · 0 评论 -
Hibernate初体验
1 什么是HibernateHibernate是ORM框架,能够建立面向对象的模型和关系数据库数据模型之间的映射。使Java开发人员只需要操纵Java对象,而无需编写SQL语句,就可以将Java对象持久化到数据库中。ORM是Object-Relation Mapping的简称,对象-关系映射,指的是负责Java对象的持久化,封装数据访问细节。Hibernate位于分层架构的持久层,封装数据访问...2015-01-03 19:00:05 · 67 阅读 · 0 评论 -
iBatis高级特性
1 缓存1.1 缓存代码示例1)主配置文件打开缓存开关2)sqlmap配置文件 select id,name,sex,age from person where id=#value# 3)执行2次查询则会发现输出日志有如下:2015-01...2015-01-02 18:43:34 · 118 阅读 · 0 评论 -
JPA之JPQL(三)
1 什么是JPQLJPQL是Java Persistence Query Language的简称,可以看成是JPA中的HQL, JPQL支持各种复杂查询。2 检索单个对象@Testpublic void querySingleObject1() { Query query = em.createQuery("select * from Course where id...2015-03-16 13:19:42 · 116 阅读 · 0 评论