查询1:sqlQuery返回 Map
Session session = hibernateTemplate.getSessionFactory().openSession();
List<Map<String, Object>> list = null;
try {
StringBuilder sb = new StringBuilder();
sb.append("select s.*, c.name as className from Course c");
sb.append(" left join Student s on s.classId=c.id");
SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
sqlQuery.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
list = sqlQuery.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
return list;
查询2:返回的是实体类
Session session = hibernateTemplate.getSessionFactory().openSession();
List<Map<String, Object>> list = null;
try {
StringBuilder sb = new StringBuilder();
sb.append("from Student");
sb.append(" where id='12345'");
Query query = session.createQuery(sb.toString());
// session.createSQLQuery(sql).addEntity(Studnet.class);
list = query.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
return list;
查询3: 需创建vo类
Session session = hibernateTemplate.getSessionFactory().openSession();
List<Map<String, Object>> list = null;
try {
StringBuilder sb = new StringBuilder();
sb.append("select s.*, c.name as className from Course c");
sb.append(" left join Student s on s.classId=c.id");
SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
sqlQuery.addScalar("id", Hibernate.INTEGER);
sqlQuery.addScalar("name", Hibernate.STRING);
sqlQuery.addScalar("age", Hibernate.INTEGER);
sqlQuery.addScalar("className", Hibernate.STRING);
sqlQuery.setResultTransformer(Transformers.aliasToBean(StudentVo.class));
list = sqlQuery.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
return list;
@Data
public class StudentVo {
private int id;
private String name;
private int age;
private Course course;
}