//sql语句
String str="select id,songname,songid,create_time as createTime,grade_person as gradePerson,grade_person_id as gradePersonId,remark from tb_grade where songname='"+songName+"' and songid= "+songId+" and grade_person='"+u.getNickName()+"' and grade_person_id="+u.getId();
Session session = entityManager.unwrap(org.hibernate.Session.class);
SQLQuery query = session.createSQLQuery(str);
Grade grade = null;
//方法1
query.setResultTransformer(Transformers.aliasToBean(Grade.class));
List<Grade> lists = query.list();
grade=lists.get(0);
//方法2
query.setResultTransformer(Transformers.TO_LIST);
List<Grade> lists = query.addEntity(Grade.class).list();
grade=lists.get(0);
方法2要注意实体类与数据库字段名不能有相差,特别是数据类型,像博主的实体就有个timestamp类型的,一直在报错,博主本来用的是string类型,后面经大佬指定改成了data类型就能用了!注意!如grade_person在实体类中要么就是跟数据库一样的,要么就是写SQL的时候给个别名gradePerson,否则射不到实体类里