Sash
Sash

Reputation: 55

Query using generics

Write using generics the below code.

Session session = HibernateUtil.getHibernateSession();
CriteriaBuilder cb = session.getCriteriaBuilder();
CriteriaQuery<Item> cr = cb.createQuery(Item.class);
Root<Item> root = cr.from(Item.class);
cr.select(root);

Query<Item> query = session.createQuery(cr);
List<Item> results = query.getResultList();

Upvotes: 2

Views: 219

Answers (1)

Nosairat
Nosairat

Reputation: 502

basic solution:

public <T> List<T> findAll(Class<T> clazz){    
        Session session = HibernateUtil.getHibernateSession();
        CriteriaBuilder cb = session.getCriteriaBuilder();
        CriteriaQuery<T> cr = cb.createQuery(clazz);
        Root<T> root = cr.from(clazz);
        cr.select(root);

        Query<T> query = session.createQuery(cr);
        List<T> results = query.getResultList();
        return results;
    }

and you can call the function as:

List<Item> items= findAll(Item.class);

Upvotes: 2

Related Questions