2014-03-29 45 views
1

我們通過使用以下包使用hibernate模板。org.springframework.orm.hibernate3.HibernateTemplate

org.springframework.orm.hibernate3.HibernateTemplate; 

protected HibernateTemplate template = null; 

這裏模板是從org.springframework.orm.hibernate3.HibernateTemplate包。我無法理解如何解釋這個包。

它是春季休眠,因爲包名稱以springframework開頭。但是沒有這樣的春天冬眠。春天只有ORM模塊。

誰能幫助我瞭解如何理解這個包org.springframework.orm.hibernate3.HibernateTemplate.

更新:下面 是我使用

@Repository 
@Transactional 
public class ABCDImplements ABCD { 

private Log logger = LogFactory.getLog(this.getClass()); 

    protected HibernateTemplate template = null; 

    @Resource(name = "abcSessionFactory") 
    protected SessionFactory sessionFactory; 

    @Autowired 
    public void init(SessionFactory sessionFactory) { 
     setSessionFactory(sessionFactory); 
    } 

    public void setSessionFactory(SessionFactory sessionFactory) { 
     template = new HibernateTemplate(sessionFactory); 
    } 

} 

回答

1

春季正是倉庫類提供的形式下使用Hibernate 3和4的集成HibernateTemplate,並且您展示的那個提供了與Hibernate 3的集成。

此類的主要目標是通過回調提供Hibernate會話,以及anot她的重要功能是將Hibernate異常轉換爲Spring異常。

不建議使用這個類,看看這個answer。推薦的方法是使用@Transactional註釋。

+0

更新我的帖子,我是如何使用它。你的意思是,我們不需要使用hibernatetemplate,而是我們可以直接使用Session session = sessionFactory.getCurrentSession()? – user3448119

+0

是的,它正確,看到這個答案以及http://stackoverflow.com/questions/4699381/best-way-to-inject-hibernate-session-by-spring-3 –

相關問題