在Tomcat5.5.x环境下,调用Configuration().addCacheableFile来载入配置,建立Hibernate SessionFactory,成功地提高了载入速度。
wJZuJ( I.[Lv7U- 推荐你只是在开发阶段采用这样的方式载入,最后的产品发布阶段你仍需使用经典的Hibernate.cfg.xml文件,通过Tomcat的ServletContextListener API在应用程序部署的时候建立Hibernate SessionFactory,而不是在程序第一次调用Hiberante的时候。
zP&D tv_&PIu]L 文件:
bXi!_'z$ P~M[i9 V net/netbauds/catalina/IHibernateCachableFileLoad.java
b_X&>^4Dkl bq2f?uD-} 这个文件可以在不同的web应用中使用而不用作任何修改。
Ms#rvn!J package net.netbauds.catalina;
dmWCNeja. aJQzM import org.hibernate.cfg.Configuration;
fC".K
Yjp !nsx!M public interface IHibernateCachableFileLoad {
LS$zA>: +s;>@j()V public void addMappings(Configuration conf);
k<|}&<h 9:*[Q"v }
?t5<S]'r$ net/netbauds/catalina/HibernateSessionFactory.java
UqD ]@s` aaP6zJXi 使用静态方法HibernateSessionFactory.getSessionFactory() 来代替我们以前使用的Configuration().configure().buildSessionFactory(),这个方法一般在你的HibernateSession单态类中(参考
http://www.hibernate.org/114.html)。
iB|htH'T S Rk%BJ? ~ 这个文件也可以在不同的应用中使用而不加任何修改:
Ci4;e H:)_;k @^Rl{p 15S&,$1& package net.netbauds.catalina;
y 2)W"PuG I^n DO\m < import org.hibernate.SessionFactory;
f92z/5%V import org.hibernate.cfg.Configuration;
TlowEh8r = N;5T // 单态的 sessionFactory
R nwFxFIQ public class HibernateSessionFactory {
]q~bi<E9W private static SessionFactory sessionFactory;
n@L@pgo%~ U\u07^h[ public static SessionFactory getSessionFactory() {
snWe&