在Tomcat5.5.x环境下,调用Configuration().addCacheableFile来载入配置,建立Hibernate SessionFactory,成功地提高了载入速度。
9N
Le&o f'{>AKi=C 推荐你只是在开发阶段采用这样的方式载入,最后的产品发布阶段你仍需使用经典的Hibernate.cfg.xml文件,通过Tomcat的ServletContextListener API在应用程序部署的时候建立Hibernate SessionFactory,而不是在程序第一次调用Hiberante的时候。
kL7^$ ?SX_gYe9 文件:
K5flit4- 981!2* net/netbauds/catalina/IHibernateCachableFileLoad.java
EF;,Gjh5p 31XU7A 这个文件可以在不同的web应用中使用而不用作任何修改。
olty4kGD$V package net.netbauds.catalina;
ROoE%%8I 0n5UKtB import org.hibernate.cfg.Configuration;
@>O&Cpt v]bAWo public interface IHibernateCachableFileLoad {
f=ib9WbR# TETsg5# public void addMappings(Configuration conf);
.hN3`>*V h~ha }
YvTA+yL net/netbauds/catalina/HibernateSessionFactory.java
-CU,z|g+ lgT?{,>RkW 使用静态方法HibernateSessionFactory.getSessionFactory() 来代替我们以前使用的Configuration().configure().buildSessionFactory(),这个方法一般在你的HibernateSession单态类中(参考
http://www.hibernate.org/114.html)。
Z{}+)Q*Q dF,DiRD 这个文件也可以在不同的应用中使用而不加任何修改:
i$O#%12l XiG88Kwv <xF?~7 `pYE[y+ package net.netbauds.catalina;
N(R,8GF5G 3
jh|y, import org.hibernate.SessionFactory;
wo(j}O- import org.hibernate.cfg.Configuration;
k,]{NO
!#.vyBK# // 单态的 sessionFactory
C4_t_N public class HibernateSessionFactory {
4A~)b"j5 private static SessionFactory sessionFactory;
T 46{*( V_]-`?S public static SessionFactory getSessionFactory() {
oNSz&