Spring3, Hibernate; how to use hibernateTemplate

I am trying to change the following code to use: HibernateTemplate, but cannot work

public List<Friend> listFriends(String rUser) 
{
    hibernateTemplate = new HibernateTemplate(sessionFactory);

    Friend friend = new Friend();
        friend.setUsername(rUser);

    // This is the old code that worked!
            return (List<Friend>) sessionFactory.getCurrentSession()
            .createCriteria(Friend.class)
            .add(Example.create(friend))
            .list();

        // This IS THE NEW CODE THAT I CANT GET TO BUILD?
            return (List<Friend>) hibernateTemplate.createCriteria(Friend.class)
            .add(Example.create(friend))
            .list();
}
+5
source share
5 answers
Friend friend = new Friend();
    friend.setUsername(rUser);

return (List<Friend>) hibernateTemplate.findByCriteria(
        DetachedCriteria.forClass(Friend.class)
        .add(Example.create(friend)));

or

Friend friend = new Friend();
    friend.setUsername(rUser);

return (List<Friend>) hibernateTemplate.findByExample(friend);

or

return (List<Friend>) hibernateTemplate.findByCriteria(
        DetachedCriteria.forClass(Friend.class)
        .add(Restrictions.eq("username", rUser)));
+14
source

HibernateTemplatedoes not provide a method createCriteria(). I think you need this:

return (List<Friend>) hibernateTemplate.findByExample(friend);

See also:

+1
source

, DAO HIbernateDAOSupport , getHibernateTemplate().

:

getHibernateTemplate().executeFind(new HibernateCallback() {
    Object doInHibernate(Session session) {
        return session.createCriteria(Friend.class)
        .add(Example.create(friend))
        .list();
    }
});

setSessionFactory() DAO ( spring, ).

doInHibernate() , ( factory)

+1

exdens HibernateDaoSupport hibernateTemplate sessionFactory xml, DAOImpl, hibernateTemplate, getHibernateTemplate() , , getSession().createCriteria();

+1

sessionFactory? sessionFactory, , , HibernateDAOSupport, getHibernateTemplate().

0

All Articles