栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

hql多属性查询

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

hql多属性查询

        Query query=session.createQuery("select ename,eage from Emp");    
        List list = query.list();                               //对多个属性查询的时候,使用Obejct数组。
        for(Object[] message:list){                                       
            System.out.println(Arrays.toString(message));   

(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();
		//List sortList = (session.createQuery(sortHql).list());
		List reciIdList =( session.createQuery(getReciIdHql).list());
		System.out.println(reciIdList);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号