在hibernate中命名查询,想要查询全部字段可以,但要查询某两个字段就不行了,能否解决呢。

问题描述

在hibernate中命名查询,想要查询全部字段可以,但要查询某两个字段就不行了,能否解决呢。<sql-queryname="select_5"><![CDATA[selectname,agefrompersonlimit3]]><returnalias="s"class="cn.itcast.bean.Person"/></sql-query>下面是构造函数packagecn.itcast.bean;publicclassPerson{privateIntegerid;privateStringname;privateIntegerage;publicPerson(){}publicPerson(Stringname,Integerage){this.name=name;this.age=age;}//publicPerson(Integerid){this.id=id;}publicPerson(Stringname){this.name=name;}//publicPerson(Integerage){this.age=age;}publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicIntegergetage(){returnage;}publicvoidsetage(Integerage){this.age=age;}}

解决方案

解决方案二:
selectname,agefrompersonlimit3其中person最好是类名,首字母大写。。。你既然全部可以查询出来的话,你在显示页面中控制下,把要显示的字段输出来不就可以了吗??
解决方案三:
哈哈,楼上有所不知哦,如果返回所有字段的,数据量一大,查询的速度就慢了,哈哈,所以要只查某一两个字段,是有道理的请高手帮忙
解决方案四:
使用数组Object[],如下:SessionFactorysessionfactory=HSF.getSessionFactory();Sessionsession=sessionfactory.openSession();Queryquery=session.createQuery("selectid,name,passfromHaha");List<Object[]>list=query.list();for(Object[]user:list){System.out.print(user[0]);System.out.print(user[1]);System.out.print(user[2]);System.out.println();}session.close();sessionfactory.close();
解决方案五:
谢谢,这个方法我知道,但这个方法实际使用起来真是麻烦哦,想来想去还是喜欢SQL多一点。谁能告诉我,在xml里,我该怎么多呢
解决方案六:
查询对象某几个属性,像楼上说的一样,用Object数组接收即可:SessionFactorysessionfactory=HibernateSessionFactory.getSessionFactory();Sessionsession=sessionfactory.openSession();Queryquery=session.createQuery("selectp.age,p.namefromPersonp");//注意HQL查询是查询对象,所以Person是大写开头的List<Object[]>list=query.list();for(Object[]attribute:list){System.out.print(attribute[0]);System.out.print(attribute[1]);System.out.print(attribute[2]);}
解决方案七:
谢谢,这个方法我知道,但这个方法实际使用起来真是麻烦哦,如果是做大型的项目的话,这样的查询方法显然是行不通的,想来想去还是喜欢在XML里写SQL,或者是存储过程好一点。谁能告诉我,在xml里,我该怎么多呢
解决方案八:
哈哈,忙了半天终于自己搞定了
解决方案九:
???怎末搞定的?分享下
解决方案十:
爱用sql,还非要在hibernate里用,无语了。

时间: 2024-10-31 08:45:10

在hibernate中命名查询,想要查询全部字段可以,但要查询某两个字段就不行了,能否解决呢。的相关文章

Hibernate中hql如何使用聚合函数sum和group by组合查询!

问题描述 Hibernate中hql如何使用聚合函数sum和group by组合查询! 背景:有一张记录各个班级的成绩表: 目的:需要使用hql查询出各个班级对应的总分: 表对应的类: public class One_Class implements Serializable { private String address; private String subject; private String classes; private int score; //get和set方法省略: //

jsp-下边是两个字段的JSP文件,我想问的是关于hidden的问题

问题描述 下边是两个字段的JSP文件,我想问的是关于hidden的问题 下边是两个字段的JSP文件,我想问的是关于hidden的问题,1和2分别是我在第一段代码和第二段代码中截取想要问的地方.比较: a.为什么1里要写(input...)这段是什么意思? b.为什么2里的hidden name还要写等于zheJiuSheZhi.shengChanXianID和zheJiuSheZhi.trainingOrCompetitionID. 请大神详细的为我解析一下,麻烦各位大神了,千恩万谢 1. <i

Java Hibernate中使用HQL语句进行数据库查询的要点解析_java

一.实体对象查询 实体对象查询是hql查询的基础,作为一种对象查询语言,在查询操作时和sql不同,查询字符串中的内容要使用类名和类的属性名来代替.这种查询方法相对简单,只要有SQL功底,使用hql是很简单的,但是有一些问题需要注意,就是查询获取数据不是目的,需要考虑的是如何编写出高效的查询语句,这才是讨论的重点. 1.N+1问题 (1)什么是N+1问题在刚听到这个名词时疑惑可能是有的,以前根本就没有听过N+1问题,那么它是指什么呢?N+1指的是一张表中有N条数据,那么在获取这N条数据时会产生N+

java-Java Hibernate中查询取值

问题描述 Java Hibernate中查询取值 Sql语法是这样的:![图片说明] 用Hibernate查询的语法不知道有没有问题呢? 还有最后一个问题: 我查询后的值存在query里面了, 我又要怎么取值呢? 求大家帮帮忙 解决方案 你那ID写里面就是死值了,要么用"?"代替,要么用 "+ +" 抱起来,哪有你那么写的 解决方案二: query.list()吧,然后看返回值是什么类型就用什么类型去接收就OK了.推荐看看这个先,里面有你想要的内容:http://z

图片-String类型在Hibernate中Get()查询的时候 对象为null

问题描述 String类型在Hibernate中Get()查询的时候 对象为null 解决方案 1--1001对应的数据有没 2--这个表是否和这个Studen对应了映射关系 检查下 解决方案二: 是怎么执行的,要么你数据库没配置好,要么就是数据库没数据,再要么就是连接没获取到. 解决方案三: 弄好了 数据库里面的数据有空格

关于Hibernate中数据查询问题,ListAll

问题描述 关于Hibernate中数据查询问题,ListAll 这是是我的方法,红线是传过来的值,然后就是死循环? 解决方案 这个是调用的方法,请大神们,指点!!! 解决方案二: 你可以查看我的博客:http://blog.csdn.net/u014427391/article/details/50621111 解决方案三: 你可以查看我的博客:http://blog.csdn.net/u014427391/article/details/50621111 解决方案四: 你可以查看我的博客:ht

nosql-mongoDB中的数组,已知其中的值,如何查询相应下标?

问题描述 mongoDB中的数组,已知其中的值,如何查询相应下标? 我们知道mongoDB是可以根据下表查询相应的数组内容的,比如 find({key.下标值:值}) 现在的问题是,我已经知道了值,想获取这个下标,mongoDB是否提供了相应的方法? 如果每次都要查询整个数组然后遍历才能确认下标,这个性能损耗实在太大--

只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名_数据库其它

昨天去面试时遇到一个这样的问题: 有一张成绩表,只有两个字段,姓名和成绩.怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名? 一时间我也想不出具体实现,我就提了两种思路:一种是通过join关联一个查询出他排名的sql语句:一种是通过group by来实现. 回答得连自己都觉得有点心虚.请问大家如何实现呢? 假设:表名字为Course,两个字段分别为name和score 实现语句: SELECT 学生,成绩, (SELECT COUNT(*) FROM 表 WHERE a.成绩<=成

vb.net中如何在查询生成器中引用如TEXTBOX等控件内的值为查询条件

问题描述 vb.net中如何在查询生成器中引用如TEXTBOX等控件内的值为查询条件 解决方案 解决方案二:COPY&PASTE