Hibernate 查询相关

 

[推荐]  hibernate-native sql support http://www.blogjava.net/alex0927/articles/194737.html
1.使用SQLQuery                                                Session.createSQLQuery();
    1.1标量查询                                                  最基本的SQL查询就是获得一个标量(数值)的列表。
    1.2 实体查询                                                 通过 addEntity() 让原生查询返回实体对象。
    1.3 处理关联和集合类                                  通过 addJoin() 方法可以让你将关联或集合连接进来。
    1.4 返回多个实体
        1.4.1 别名和属性引用
    1.5. 返回非受管实体                                    可以对原生sql 查询使用ResultTransformer。这会返回不受Hibernate管理的实体。
    1.6. 处理继承                
    1.7. 参数                                                        原生查询支持位置参数(? 0)和命名参数(: varName)

2.使用命名SQL查询                                          xml 文件中定义好 HQL 语句,通过 sess.getNamedQuery("persons") 调用命名注入。
    2.1. 使用return-property来明确地指定字段/别名
    2.2. 使用存储过程来查询
    2.2.1. 使用存储过程的规则和限制



方法链编程风格ist result=session.createCriteria(Customer.class)
    .add(Expression.like("name", "T%")
    .add(Expression.eq("age", newInteger(21))
    .list();



预编译语句Hibernate 中避免拼串, 使用预编译语句,
1).使用顺序占位符    .age > ?
     query.setInteger(0,20);
2).使用引用占位符    .name = :name
     query.setParameter("name","Erica");


 

Hibernate多表关联查询的结果处理 http://www.blogjava.net/kawaii/archive/2008/06/23/101930.html
如果我们在Hibernate中需要查询多个表的不同字段,有两种方式获得结果:
1、对各个字段分别转化成对应类型
    List result = q.list();  
    Iterator it = result.iterator(); 
    while (it.hasNext()) { 
    Object[] tuple = (Object[]) it.next(); 
    Members members = (Members) tuple[0]; 
    String className = (String) tuple[1]; 
    }

2、构造自己的复合类型

转载于:https://www.cnblogs.com/kiant71/archive/2008/09/05/1752075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值