hibernate中只选取某些列的写法

     在普通的sql中,为了选取某些列,其实是很简单的,就select 列名就可以了,但在hibernate中,一般都是sql="from user ....";但这样其实某些时候,效率还是很低的,在hibernate做的时候,要这样了,如下:

 

下面再介绍下相关的知识:

1、 查询其中几个字段

2、修改默认查询结果(query.list())不以Object[]数组形式返回,以List形式返回

 3、要注意的是,假如这时有些列是为空的话,则String hql =   "  select new list(name,passwd) from Users " ;    是会报错的,要用下面的方法:


4、修改默认查询结果(query.list())不以Object[]数组形式返回,以自定义类型返回

 

     通过query.list()出来的list里存放的不再是默认的 Object数组了,而是自定义的类MyUser,必须加包名,String hql = "from Users";中的Users类也是必须加包名的,但是因为再Users.hbm.xml里<hibernate-mapping auto-import="true"> auto- import默认值为true(所以auto-import属性也可以不写),自动导入了。

5、 条件查询

      假如觉得还是想用回原生SQL的话,可以这样:

      就是要注意的话,这里的createSQLQuery里面跟的是原生的sql,要读什么属性,就要不断加addScalar,个人觉得这个方式十分麻烦。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值