2012-04-13 21 views
3

Ich versuche, Frühling 3 und DAO und BO-Klassen zu lernen und wie man damit autowire und ich frage mich, ist dies die richtige Weise, die SessionFactory zu verdrahten, wie ich gelesen habe, dass es besser ist zu verwendenKorrekter Weg sessionFactory zu verwenden

public void save(Customer customer) { 
    sessionFactory.getCurrentSession().save(customer); 
} 

statt

public void save(Customer customer){ 
    getHibernateTemplate().save(customer); 
} 

So wird die nach dem richtigen Weg, um die session zu verdrahten?

CustomHibernateDaoSupport Klasse

package com.fexco.helloworld.web.util; 

import org.hibernate.SessionFactory; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Qualifier; 
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 

public abstract class CustomHibernateDaoSupport extends HibernateDaoSupport 
{  
@Autowired 
@Qualifier("sessionFactory") 
public void seSessionFactory(SessionFactory sessionFactory) { 

    this.setSessionFactory(sessionFactory); 
} 
} 

CustomerDaoImpl Klasse

package com.fexco.helloworld.web.dao; 

import java.util.List; 

import org.hibernate.SessionFactory; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Repository; 
import com.fexco.helloworld.web.model.Customer; 
import com.fexco.helloworld.web.util.CustomHibernateDaoSupport; 

@Repository("customerDao") 
public class CustomerDaoImpl extends CustomHibernateDaoSupport implements CustomerDao{ 


@Autowired 
private SessionFactory sessionFactory; 

public void save(Customer customer) { 
    sessionFactory.getCurrentSession().save(customer); 
} 

Ist das richtig oder mache ich einen Fehler irgendwo, weil ich es Arbeit erhalten kann nicht zu? Dank

+1

Wenn Sie mit Hibernate 3, brauchen Sie nicht HibernateTemplate verwenden – vinodn

Antwort

Verwandte Themen