When a class annotated with @Entity annotaion hibernate uses queries like SELECT * FROM class_name. But for some reason it is needed to run custom select query for class. Is there a way to provide such query?
-
yes it is possible , write the query you want to run , in order to help youkarim mohsen– karim mohsen2015-11-10 06:13:41 +00:00Commented Nov 10, 2015 at 6:13
Add a comment
|
3 Answers
Yes, according to the official hibernate reference, you can do it like:
sess.createSQLQuery("SELECT * FROM CATS").addEntity(Cat.class);
or:
sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").addEntity(Cat.class);
Comments
Criteria cr = getCurrentSession().createCritiera(class_name.class)
.setProjection(Projections.projectionList()
.add(Projections.property("id"), "id")
.add(Projections.property("name"), "name"))
.setResultTransformer(Transformers.aliasToBean(class_name.class));
List<class_name> list = cr.list();
Act as select id,name from class_name this will return List of class_name containing objects only have id and name and the rest of variables in class_name will be null (as you only selected id and name)