hibernate查询:Hibernate属性查询简单讲述

  本文向大家介绍Hibernate属性查询可能好多人还不了解Hibernate属性查询没有关系看完本文你肯定有不少收获希望本文能教会你更多东西

  今天说下Hibernate属性查询:使用HQL时候并不是把 hbm.xml 里面所有属性取出来只取出有用属性便可以了举个例子:

List list =session.createQuery
("select user.name,user.age from TUSER user").list;  
Iterator it = list.iterator;  
while(it.hasNext)  
...{  
Object results = (Object)it.next;  
.out.prln(results[0]);  
.out.prln(results[1]);  
} 


  如果觉得返回方式不够符合面向对象风格也可以使用构造对象例子思路方法对进行封装:

List list = this.session.createQuery
(" select  TUser(user.name,user.age) from TUser as user").list;  
Iterator  = list.iterator;  
while(it.hasNext)  
...{  
TUser user = (TUser)it.next;  
.out.prln(user.getName);  
} 


  着爱和那个就比较形象化但是有点要注意是这个查询结果TUser对象仅仅是普通 java 对象进用于对查询结果封装除了在构造是赋予属性值外其他属性均为未赋值状态这就意味着我们无法通过 Session 对此对象进行更新如果企图对 user 对象更新将导致向数据库插入条新记录而不是更新原有记录:

while(it.hasNext)  
...{  
 TUser user = (TUser)it.next;  
user.Name("test");  
session.saveOrUpdate(user);  
//这里将导致次 insert 操作而非 update  
} 


  也可以使用像 SQL 那样统计比如:

selet count(*),min(user.age) from TUser as user  
select upper(user.name) from TUser as user  
select distinct user.name from TUser as user 


  以上介绍Hibernate属性查询

Tags:  hibernate级联查询 hibernate多表查询 hibernate模糊查询 hibernate查询

延伸阅读

最新评论

发表评论