
ORM
文章平均质量分 78
eddle
这个作者很懒,什么都没留下…
展开
-
jpa与hibernate的关系
JPA Java Persistence API,是Java EE 5的标准ORM接口,也是ejb3规范的一部分。Hibernate,当今很流行的ORM框架,是JPA的一个实现,但是其功能是JPA的超集。JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hibernate是实现。那么Hibernate是如何实现与JPA的这种关系的呢。Hibernate主要是通过三个组原创 2011-10-22 10:37:47 · 905 阅读 · 0 评论 -
建立使用JPA的DAO
5.5.3 建立使用JPA的DAO前面我们把一个实体管理器工厂的引用装配到JpaTemplate里,然后把JpaTemplate装配到DAO。但Spring的JpaDaoSupport简化这一过程,可以把实体管理器工厂Bean直接装配到DAO类。像JdbcDaoSupport和HibernateDaoSupport对相应DAO的作用一样,JpaDaoSupport也为使用JPA的原创 2012-01-11 22:34:33 · 7005 阅读 · 0 评论 -
配置缓存方案
5.7.1 配置缓存方案虽然Spring Modules会提供一个代理来拦截方法并把结果保存到缓存,它并没有提供一个实际的缓存解决方案,而是要依赖于第三方的缓存方案。可以使用的方案有多个,包括:EHCacheGigaSpacesJBoss CacheJCSOpenSymphony的OSCacheTangosol的Coherence我们为RoadRantz程序选原创 2012-01-11 22:50:20 · 3197 阅读 · 0 评论 -
缓存的代理Bean
5.7.2 缓存的代理Bean我们已经知道HibernateRantDao里的getRantsForDay()方法很适合进行缓存。再回到Spring上下文定义,我们要使用元素把一个代理包裹到HibernateRantDao,从而缓存从getRantsForDay()返回的全部内容: 元素声明哪个方法要被拦截、其返回值要保存到哪个缓存。本例原创 2012-01-11 22:51:59 · 1204 阅读 · 0 评论 -
spring缓存
5.7 缓存在很多程序里,读取数据的频率比写入要高得多。比如RoadRantz,访问站点来查看帖子的人比张贴帖子的人要多。虽然帖子列表会随着时间不断增长,但其增长速度比不上被查看的速度。更进一步说,RoadRantz所展示的数据对于实时性要求并不高。如果用户在访问站点时看到了稍微过时一点的帖子列表,并不会产生太多负面影响,他们会稍后再返回站点来查看更新的帖子列表,这样做并不会有太原创 2012-01-11 22:46:15 · 4618 阅读 · 0 评论 -
创建EntityManager
5.5.2 创建一个实体管理器工厂简而言之,基于JPA的程序使用EntityManagerFactory的一个实现来获取EntityManager的实例。JPA规范定义了两种实体管理器:程序管理型:实体管理器是在程序直接向实体管理器工厂请求一个实体管理器时创建的。在这种情况下,程序负责打开或关闭实体管理器,并且在事务中控制管理器。这种类型最适合不运行于Java EE容器的独立程序。容原创 2012-01-11 22:24:31 · 9319 阅读 · 1 评论 -
使用jpa模板
5.5.1 使用JPA模板与Spring对其他存留框架的支持相一致,Spring-JPA的核心元素是个模板类:JpaTemplate,它包裹了一个JPA EntityManager。下面的XML用于在Spring里配置一个JPA模板: JpaTemplate的entityManagerFactory属性必须装配为JPA的javax.per原创 2012-01-11 22:16:40 · 4455 阅读 · 0 评论 -
JPA高级分析
1.JPA的实体生命周期:JPA的实体有以下4中生命周期状态:(1).New:瞬时对象,尚未有id,还未和Persistence Context建立关联的对象。(2).Managed:持久化受管对象,有id值,已经和Persistence Context建立了关联的对象。(3).Datached:游离态离线对象,有id值,但没有和Persistence Context建立关联的对象原创 2012-01-10 22:25:43 · 13883 阅读 · 0 评论 -
Sping集成JPA
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发人员可以编码来实现该API,而不是使用私有供应商特有的API。因此开发人员只需使用供应商特有的API来获得JPA规范没有解决但应用程序中需要的功能。尽可能地使用J原创 2011-10-19 22:32:10 · 2364 阅读 · 0 评论 -
jpa OneToMany级联操作详解之级联删除
下面给出了一个级联删除的demo,其中Garage与Auto是一个一对多的关系。在级联删除的关键地方,就是在父栏添加CascadeType.REMOVE标注。Garage.java/** * many to one 一对多关联 */ Java代码 package com.jpa.bean1; import java.util.HashSet; i原创 2011-10-30 21:05:32 · 31360 阅读 · 0 评论 -
注解驱动的缓存
5.7.3 注解驱动的缓存除了前面介绍的基于XML的缓存配置,Spring Modules还支持使用代码级元数据声明缓存。这种支持有两种形式:Java 5注解:如果目标环境是Java 5平台,这就是很理想的解决方案。Jakarta公共属性:如果目标环境是Java 5以前的平台,就应该选择它。对于RoadRantz程序来说,其目标环境是Java 5,所以我们要使用Jav原创 2012-01-11 22:53:20 · 995 阅读 · 0 评论