Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring3, Hibernate; how do I use HibernateTemplate

I am trying to change the following code to use: HibernateTemplate but cant it working

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();
}
like image 327
SJS Avatar asked Apr 01 '11 01:04

SJS


2 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)));
like image 145
RichN Avatar answered Sep 21 '22 20:09

RichN


HibernateTemplate doesn't provide createCriteria() method. I guess you need this:

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

See also:

  • HibernateTemplate javadoc
like image 45
axtavt Avatar answered Sep 22 '22 20:09

axtavt