`
bailangfei3344
  • 浏览: 42057 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hql里可以new对象..

阅读更多

 向老师请教的...  原来hql可以new对象,  老师的代码

 

String hql = " select new  com.domain.MyUser(name,passwd) from Users";     
Query query = session.createQuery(hql);    //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是MyUser对象了         
List<MyUser> myUsers = query.list();            
for(MyUser myUser : myUsers){                 
	String name = myUser.getUsername();      
	String passwd = myUser.getPassword();       
	System.out.println(name + " : " + passwd);       
	}  

 

 

 

 

 

0
0
分享到:
评论
2 楼 黑暗浪子 2010-01-26  
hiberniate之所以提供这样的功能,其目的就是让你可以在多表查询时候,在hql里新建你的dto对象,这样方便你在前台界面显示查询数据结果集。毕竟在很多情况下,jsp界面显示数据的各个字段不会是同一张数据库表中的字段。而且个人认为如果有N个属性,可以将属性设置为每个字段所标的model对象。比如A字段是C表的字段,B字段是D表的字段。
你可以new object(C,D).然后object.getC.getA和object.getD.getB将A,B两个字段的value取出。当然我认为少于4个属性的话,还是不要这么做。
1 楼 numen_wlm 2010-01-26  
如果那个Class有N多个属性的话,那么它的构造函数得有很多参数了。。写起来看着挺长的。

相关推荐

    Hibernate HQL详解.docx

    HQL通过new的方式可以返回一个新的实体类,比如说上面通过new User(id,name)方式将id,name返回给User,要求User必须包含一个相对应的构造函数,否则会抛出异常,同时我们还有应该给User指定一个默认的构造函数,否则...

    hibernate操作数据库笔记

    Session session = SessionFactory对象.openSession(); 注:由于SessionFactory是重量级对象,很耗资源,所以在获取SessionFactory对象时最好用单例模式获取,以确保一个应用中只有一个SessionFactory对象存在和线程...

    jdbc基础和参考

    查询对象,HQL Criteria 1.hibernate提供的更面向对象的一种查询方式。 准备工作: 1.java中的POJO对象存在 2.数据库,表得存在 3.hibernate的配置文件(hibernate.cfg.xml)得存在 4.POJO.hbm.xml文件存在 5....

    Hibernate使用技巧汇总

    HibernateTemplate对Hibernate Session操作进行了封装,而 HibernateTemplate.execute方法则是一封装机制的核心 *在spring的配置文件里,移植了整个hibernate.cfg.xml的内容。

    hibernate总结

    b) 在hql中要使用迫切左外连接时,必须加 left join fetch 对象.关系属性 i. 如果不加fetch关键字,则hibernate不会抓取关系属性,但会遍历关系属性所对应的表 ii. 不加fetch关键字时,select 要指定返回的对象,...

    Spring面试题

    2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring...

    StackExchange开源.Net ORM框架 Dapper.NET.zip

    使用Dapper可以自动进行对象映射! 轻量级,单文件。 支持多数据库。 Dapper原理通过Emit反射IDataReader的序列队列,来快速的得到和产生对象。   Dapper.Net的示例代码: public ...

    JAVA WEB框架,java网站一个模块只用写一个文件

    要获得DatabaseAccess对象只需调用getDatabase()方法就可以。 |___GetSql.java 自动生成sql语句。在本框架中基本上不直接使用。 |___Hyberbin.java 进一步封装了数据库的操作,用户不直接对数据库操作,只要给出...

    ARCH4系统开发指南

    8.5 声明对象句柄时不需要使用new关键字 112 8.6 一个POJO对象只能映射为一条数据库记录 114 8.6.1 实体对象生命周期 115 8.6.2 实体对象的识别 115 8.7 String对象、StringBuilder对象和原始数据类型的特点 116 ...

    支持多数据库的ORM框架ef-orm.zip

    最大限度利用编译器减少编码错误的可能性 API设计和元数据模型(meta-model)的使用,使得常规的数据库查询都可以直接通过Criteria API来完成,无需使用任何JPQL/HQL/SQL。可以让避免用户犯一些语法、拼写等错误。...

    Java语言基础下载

    查询数据库里的数据 339 预编译语句(PreparedStatement) 340 使用事务 341 事务的级别控制 343 使用存储过程 345 操作元数据 347 ResultSetMetaData(结果集元数据) 349 可滚动的和可更新的结果集 350 批处理更新...

    MyEclipse中hibernate的配置

    同样都是数据库中间件(DM,Database Middleware),JDBC利用SQL语言操作的是数据,而Hibernate则是利用自己的查询语言Hibernate Query Language(HQL虽然底层还是要转换成sql语言)操作的是持久化对象。Hibernate是ORM...

    Hibernate5的Query接口浅析

    使用Query对象可以方便的查询数据库中的数据,它主要使用HQL或者本地SQL查询数据。Query对象不仅能查询数据,还可以绑定参数、限制查询记录数量、实现批量删除和批量更新等。 Configuration cfg=new Configuration()...

    JAVA程序开发大全---上半部分

    本书内容丰富、技术全面、案例实用,而且所有的实例都以MyEclipse工程的形式组织,并按章节的顺序组织在附书光盘中,源代码工程都经过精心调试,可以直接导入MyEclipse中运行。 本书内容精练、重点突出、实例丰富,...

Global site tag (gtag.js) - Google Analytics