发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

如何迁移 Hibernate架构到 spring架构?

2007-05-03 22:57
赞助商链接

以前我的项目使用Hibernate+struts架构的,所有的Dao类后台使用的操作数据库都用hibernate,统一使用一个类得到session(就是hibernate实例的工具类,使用静态变量sessionfactory),现在有没有方法给项目增加spring的支持,使这个工具类中的Session交给Spring管理起来? 就是说这个sessionFactory不是静态变量,是由spring注入进来的,所有的Session都是由spring创建的sessionFactory来得到?我得HibernateUtil这个工具类内容如下:


代码
public class HibernateUtil {

private static Log log = LogFactory.getLog(HibernateUtil.class);

private static final SessionFactory sessionFactory;

private static String _configFilePath = "/hibernate.cfg.xml";

static {
try {
//URL configFileURL = null;
URL configFileURL = HibernateUtil.class.getResource(_configFilePath);
log.info("lyo get config URL: "+configFileURL);
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure(configFileURL).buildSessionFactory();
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory() {
return sessionFactory;
}


public static Session getHibernateCurrentSession(){
return getSessionFactory().getCurrentSession();

}
public static void closeSession(){
this.getSessionFactory().getCurrentSession().close();
}

}


如果用 Spring 来管理起来这个类呢? 我试过用 spring把 sessionFactory注入这个类中,但是总是提示说不能在无事务环境下,使用 session? 有没有做过这种情况的? 请指点!

2007-05-08 11:28

spring中有一个专门的Hibernate类,就不需要hibernate.cfg这样全局配置,转到spring的配置中配置,参考spring源码中案例appfuse

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com