//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,否則射不到實體類裡