Search code examples
javahibernatehibernate-criteria

Use Criteria to select a particular field from DB?


I have a method like below

public List<String> getSimilarResourceNames(String resourceName){
    String searchString = "%"+resourceName+"%";
    Session session = getSession();
    Criteria criteria = session.createCriteria(Resource.class);
    criteria.add(Restrictions.like("name", searchString));
    return  criteria.list()
}

This will return me the entire resource from the DB, but what i need is just the name of the resource. How can I accomplish that ?


Solution

  • Use Projection, you can find examples in Hibernate documentation.

    Criteria criteria = session.createCriteria(Resource.class);
    criteria.setProjection(Property.forName("name"))
    criteria.add(Restrictions.like("name", searchString));