Query query=session.createQuery("select ename,eage from Emp");
List
(1)JavaBean 类必须是一个公共类,并将其访问属性设置为 public ,如: public class user{…}
(2)JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器
(3)一个javaBean类不应有公共实例变量,类变量都为private ,如: private int id;
(4)属性应该通过一组存取方法(getXxx 和 setXxx)来访问,一般是IDE(Eclipse、JBuilder) 为属性生成getter/setter 方法
JPA自定义sql is not mapped 报错
————————·在用注解写jpa的自定义sql语句时,需要注意的是sql语句的字段,和表名,都需要使用pojo类里面的属性名和类名,否则将会报错——————————
String rbiHql = "select sortId,recipeName,recipeImg from Recipe r where r.recipeId = " + i; Recipe rbiBasicInfo = (Recipe) session.createQuery(rbiHql).uniqueResult();
错误 **[Ljava.lang.Object; cannot be cast to com.example.entity.Recipe**
//改正 //Recipe rbiBasicInfo = (Recipe)session.createQuery(rbiHql).uniqueResult(); Object[] list =(Object[]) session.createQuery(rbiHql).uniqueResult(); Recipe rbiBasicInfo= new Recipe(i, (Integer)list[0], list[1].toString(), list[2].toString());
//hibernate是面向对象的查询,严格区分大小写!如实体类为 Car,则hql语句中应该为: //SELECt c.price FROM Car c String getReciIdHql = "select reciId from Collect c where c.userId = " + userID; Session session = this.sessionFactory.getCurrentSession(); //ListsortList = (session.createQuery(sortHql).list()); List reciIdList =( session.createQuery(getReciIdHql).list()); System.out.println(reciIdList);



