spring3.1.1 + hibernate4.1.0
首先必须了解一下Hibernate4新增的一些特性:
- 多租户架构支持
- Service API
- 更好的日志,支持i18n与消息编码(通过JBoss Logging而不是slf4j)
- 为OSGi支持做好了准备
1、所谓多租户架构(Multi-tenant Design),就是将大型的企业应用划分为虚拟的多个客户端/客户而不必将所有的data放在一个共享空间中。这种架构有几种实现方式:
- 每个客户端使用不同的数据库与模式
- 所有客户端使用相同的数据库/模式,但所有表中都有一个附加的列(id),用于过滤数据
Hibernate 4支持第一种,第二种计划到下个版本。
(打字原来可以很无聊。。。随后的内容比较不重要,有兴趣可以link到这里http://www.infoq.com/cn/news/2012/01/hibernate-4-released)。
Spring 3和Hibernate 4的集成基本上还是原来那样,只是很多类重新打包了,找起来比较不那么传统了(不过都是小case乐),主要有几个地方要注意:
- SessionFactory改成org.springframework.orm.hibernate4.LocalSessionFactoryBean;
- Spring 3对hibernate 4不再提供HibernateTemplate乐(叫我这菜鸟情何以堪);
- Spring bean用到request的scope时,要在web.xml加个RequestContextListener,bean也要用上aop去生成一个代理类,最重要的是不要忘记代理一个class一定要用上cglib、asm之流的;
暂时大概也就这么多乐,今天。