Hibernate的HQL和Criteria接口
来源:互联网 发布:mac 关闭软件更新 编辑:程序博客网 时间:2024/06/05 18:07
Hibernate的HQL和Criteria接口
一.HQL(Hibernate Query Language)
面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写);HQL中查的是对象而不是和表,并且支持多态;HQL主要通过Query来操作,Query的创建方式:
Queryq = session.createQuery(hql);
l from Person
l from User user where user.name=:name
l from User user where user.name=:name and user.birthday <:birthday
二.Criteria
Criteria是一种比HQL更面向对象的查询方式;Criteria的创建方式:
Criteriacrit = session.createCriteria(DomainClass.class);
简单属性条件如:criteria.add(Restrictions.eq(propertyName,value)),
criteria.add(Restrictions.eqProperty(propertyName,otherPropertyName))
实例讲解:
package com.hbsi.test;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import com.hbsi.domain.User;
import com.hbsi.hibernate.utils.HibernateUtil;
public class QueryTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generatedmethod stub
query1("Tom");
}
public static void query1(String name){
Session s=null;
try{
s=HibernateUtil.getSession();
String queryString="from User user where user.name=:n";//hibernate的查询语言
Query query=s.createQuery(queryString);
query.setString("n",name);
query.setFirstResult(0);
query.setMaxResults(2);
List<User> list=query.list();
for(User u:list){
System.out.println(u.getId()+"::"+u.getName());
}
//明确的知道就一行记录,是唯一的
//Useruser=(User) query.uniqueResult();
//System.out.println(user.getId()+":"+user.getName());
}finally{
if(s!=null){
s.close();
}
}
//分页
}
}
- Hibernate的HQL和Criteria接口
- Hibernate的criteria分页和hql分页
- hibernate常用的两种查询hql和criteria
- Hibernate的Criteria接口
- Hibernate查询简介HQL和Criteria
- hql和criteria以及hibernate模版
- Hibernate HQL和Criteria查询补充
- Hibernate 、Hql查询和Criteria查询
- Hibernate的Query接口和Criteria接口的区别
- Hibernate: Criteria VS. HQL
- grails的criteria和hql查询
- Hibernate 里 SQL 和 HQL,Criteria Query 对Session Cache缓存使用的不同
- HQL和Criteria
- hql和criteria
- HQL和Criteria简介
- Criteria 和Hql
- HQL和Criteria
- SSH-Hibernate:hql与criteria
- TTL,CMOS,RS232电平区别
- 安全重装JDeveloper
- 需求分析规格说明书
- ssh2中采用dao---service---action分层结构
- 恢复VSS中误删除的文件
- Hibernate的HQL和Criteria接口
- 关于sharepoint2007 4518版本的某个列表中出现数据筛选失败
- SQL函数大全
- NSBundle的使用
- android中finish()与system.exit(0)的区别?
- Tiny Core Linux 4.1使用hostapd做Soft AP
- response实现控制浏览器器缓存和请求重定向
- 【C/C++】多线程
- 模糊测试框架 Sulley 使用手记 (一)