ORM

关注j2ee体系中各种ORM优秀框架,如hibernate, mybatis等

Mybatis缓存之redis实现 ORM

Mybatis缓存之redis实现

mybatis对于缓存的处理不是很强大,但也算是能凑合使用下,今天项目中要使用到,就打算用redis来扩展下他的接口,做一个实现 以上代码中的RedisClient为自己封的jedisx操作, 你可以直接替换成你自己的封装,或者直接使用原生的jedisx
hibernate4之泛型DAO的接口及实现 ORM

hibernate4之泛型DAO的接口及实现

由于在spring3.2系列之后去掉了HibernateDaoSupport, 这时再对hibernate进行整合时,只能使用原生态的hibernate API了,以下是我在尝试集成中所写的结果及实现,如下:
Hibernate的注解(annotation)方式自动使用UUID作为主键 ORM

Hibernate的注解(annotation)方式自动使用UUID作为主键

Hibernate管理主键的方案有很多种,好几年没用hibernate, 今天遇到一个比较有意思的主键生成策略, 使用UUID作为主键,特此分享下. 不明白什么是UUID的同学,可以看看这文章 http://baike.baidu.com/view/1052579.htm?fr=aladdin  
Mybatis3之cache如何配置 ORM

Mybatis3之cache如何配置

在mybatis3的版本中,集成了cache,这个cache也是mybatis自身做的代码级的cache,也就是session级别的,内核也就是采用map来做一级缓存,这个在session级别用处非常大,至少在一个session中,命中率较高。 现来看看在使用过程中如何配置: mybatis的配置是基于xml来的,我在实际项目中是这样配置的: 从上面可以看到在settings节点中,有一个cacheEabled的属性,在使用cache的时候,需要将这个property设置为true,否则cache是关闭的。 上面的配置是全局的,如果想对单独的model如何来做配置呢? 这点mybatis官方已经考虑到了,给我们留下了可配置的地方,再来看如何操作: 以上文件中的第7行,可以在此配置cache的相关属性,例如我在这个配置文件中使用的是第三方的ehcache,并没有使用mybatis自带的cache,这些配置都是可以扩展的,当然我们也可以自定义自己的cache,只用实现mybatis的接口就好了,当然这是后话,后面我会就此单独写文章。 当然,mybatis的cache控制粒度还可以更小,比如精确到每条语句的结果需要cache或不需要cache,怎么做呢? 以上代码中有一个attribute: usecache,这就是控制是否对查询结果进行缓存的开关。 好了,mybatis的基本cache先写到这了,稍后会对cache做一个详细的讲解,包括cache的局限限和扩展性,自定义cache等,以及和nosql的对比。