0

I am using Hibernate Template to store and get data from my database. I am trying to check if the user already exists in database or not. What I have tried is

public class UserDaoImpl implements UserDao {

    private HibernateTemplate hibernateTemplate;

    @Autowired
    public void setSessionFactory(SessionFactory sessionFactory) {
        hibernateTemplate = new HibernateTemplate(sessionFactory);
    }

    @Override
    public List<User> findUser(Integer socialId) {
        String queryString = "SELECT * FROM users WHERE users.validatedId = ?";
        return hibernateTemplate.find(queryString, socialId);
    }
}

but it says Type mismatch: cannot convert from List < capture#2-of ? > to List< User >

Thanks

Wearybands
  • 2,438
  • 8
  • 34
  • 53
  • First you need to read this http://stackoverflow.com/questions/18002768/why-hibernatetemplate-isnt-recommended Why using hibernatetemplate isn't recommended Or you can read this http://stackoverflow.com/questions/5104765/hibernatedaosupport-is-not-recommended-why – Sambhav Sharma Apr 28 '14 at 12:05

2 Answers2

0

Use the following query:

FROM User u WHERE u.validatedId = ?

Also you need to type cast to List<User> since HibernateTemplate.find simple returns List with no generics.

geoand
  • 60,071
  • 24
  • 172
  • 190
0

return (List<User>)(List<?>)hibernateTemplate.find(queryString, socialId);

Raptor
  • 1