JPA和Hibernate的一些概念
来源:互联网 发布:淘宝指定商品优惠券 编辑:程序博客网 时间:2024/06/08 22:27
一、关于JPA
JPA是Hibernate的一个抽象或者可以理解为接口,JPA本质上是一种ROM规范
选择什么样的服务器基本上决定了使用那个JPA实现
JBOSS使用hibernate
weblogic是用OpenJPA
Oracle是用TopLink
JPA是各种ORM框架真子集,只提供其中最好的功能。方便移植。
二、关于Hibernate
持久化:保存在内存中的数据称为瞬时状态,保存在硬盘上的数据,称为持久状态。持久化是在瞬时状态和持久状态之间转换的机制。
JDBC的操作是“瞬时”的,变量的值无法与数据库中的值保持一致。Hibernate操作的数据是持久化的,即持久化对象的数据属性的值可以跟数据库中的值保持一致。
ORM:对象关系映射,完成对数据到关系型数据映射的机制叫对象关系映射。
Hibernate支持缓存、延迟加载、预先抓取、级联
延迟加载:比如每一个Order对象中含有一个Item集合,延迟加载可以在select时只获取关注的Order属性,而不必加载Item集合,从而提升了效率。
预先抓取:与延迟加载是相对的。可以在select Order时,同时获得Item集合,从而避免了多次查询。
级联:当删除Order时可以同时删除Item
1.Hibernate的七个步骤
SessionFactory的创建和销毁需要耗费大量资源,一般一个应用只创建一个。保存着与数据库映射的所有信息,也是创建Session的工厂。
Session相当于JDBC的connection.是持久化操作的核心。
Transation功能上跟数据库中事务完全一样,由Session创建。
如果不进行更改操作,可以不用创建事务。
三、JPA的Join操作
首先要有一个一对多和多对一的映射
具体的Hql实现:
public List<News> getNewsListByUserId(int id) {// TODO Auto-generated method stubList<News> newsList=new ArrayList<News>();String Hql="SELECT news from News news "+ "JOIN FETCH news.user u where u.id=?";Session session=this.getSession();newsList=session.createQuery(Hql).setInteger(0, id).list();session.close();//session.getTransaction().commit();return newsList;}
- JPA和Hibernate的一些概念
- JPA挂Hibernate 和Hibernate 的一些细微差距
- hibernate的一些概念
- JPA和Hibernate的关系
- JPA和Hibernate的关系
- JPA和Hibernate的区别
- JPA和Hibernate的区别
- JPA和Hibernate的关系
- JPA和Hibernate的区别
- JPA和Hibernate的区别
- JPA和Hibernate的关系
- JPA和Hibernate的关系
- JPA和Hibernate的区别
- hibernate和jpa的关系
- JPA和Hibernate的区别
- JPA和Hibernate的关系
- JPA/Hibernate一些链接
- JPA 和hibernate-jpa-api
- RHEL-RH134-UNIT4--管理系统中的简单分区和文件系统
- android 动画 帧动画 FrameAnimation
- UEFI原理与编程(七):包及.dsc、.dec、.fdf文件
- 【NOI2009】bzoj1562 变换序列
- 阅读徐宜生《Android群英传》的笔记——第3章 Android控件架构与自定义控件详解(3.6-3.8)
- JPA和Hibernate的一些概念
- c# 三种取整方法 向上取整 向下取整 四舍五入
- 深入浅出的讲解傅里叶变换
- 【面试题】大数据计算
- 继续畅通工程
- 并查集练习3:HDOJ4496 WA
- 设计模式之工厂模式
- 信息系统项目管理知识--信息安全
- 编辑距离