在Tomcat5.5.x环境下,调用Configuration().addCacheableFile来载入配置,建立Hibernate SessionFactory,成功地提高了载入速度。
Dt%Gv0 wN>k&J 推荐你只是在开发阶段采用这样的方式载入,最后的产品发布阶段你仍需使用经典的Hibernate.cfg.xml文件,通过Tomcat的ServletContextListener API在应用程序部署的时候建立Hibernate SessionFactory,而不是在程序第一次调用Hiberante的时候。
AyKvh
EiQX*v 文件:
0x7F~%%2 =iW!Mq net/netbauds/catalina/IHibernateCachableFileLoad.java
##+|zka!U Ls< ";QJc 这个文件可以在不同的web应用中使用而不用作任何修改。
\3JZ=/ package net.netbauds.catalina;
~b}a|K NRN3*YGo import org.hibernate.cfg.Configuration;
D99g} M<s16 public interface IHibernateCachableFileLoad {
4QC"|<9R x)N$.7'9OJ public void addMappings(Configuration conf);
[EI~/#; UF0W%Z }
6_]-&&Nr net/netbauds/catalina/HibernateSessionFactory.java
Rah"La TUHm.!+a 使用静态方法HibernateSessionFactory.getSessionFactory() 来代替我们以前使用的Configuration().configure().buildSessionFactory(),这个方法一般在你的HibernateSession单态类中(参考
http://www.hibernate.org/114.html)。
rH*1bDL PP)iw@9j 这个文件也可以在不同的应用中使用而不加任何修改:
,cZhkXd
O'm><a>8 jBZlNEw -AnQZy package net.netbauds.catalina;
%J(y2 } Le;;Yd}f import org.hibernate.SessionFactory;
)[fjZG[ import org.hibernate.cfg.Configuration;
;;e\"%}@=q G &,1 NjSi // 单态的 sessionFactory
gZA[Sq public class HibernateSessionFactory {
_gU:!:} private static SessionFactory sessionFactory;
?YE'J~0A6 "NEg]LB5 public static SessionFactory getSessionFactory() {
TL&