Hibernate条件查询(Criteria Queries)

来源:互联网 发布:火绒安全软件 下载 编辑:程序博客网 时间:2024/05/22 12:19

示例类:

package util;

import
 hibernate.HibernateSessionFactory;

import
 java.util.List;

import
 org.hibernate.Hibernate;
import
 org.hibernate.Session;
import
 org.hibernate.criterion.Example;
import
 org.hibernate.criterion.Expression;
import
 org.hibernate.criterion.Restrictions;
import
 org.hibernate.type.Type;

import
 pojo.Users;

public class
 Util
{
    
private
 Session session;

    @SuppressWarnings(
"unchecked"
)
    
public List<Users>
 findAll()
    
{
    session 
=
 HibernateSessionFactory.getSession();

    
// Restrictions是基本的查询限定类

    List<Users> list1 =
        session.createCriteria(Users.
class).add(Restrictions.sqlRestriction("name like ? and id = ?",new Object[]{"%k%",43},new
        Type[]
{Hibernate.STRING,Hibernate.INTEGER})).list();

    
// Expression类继承了Restrictions,并且是一个final类,添加了三个重载的sql方法

    List<Users> list2 = session.createCriteria(Users.class).add(Expression.eq("name","marker")).list();

    
// 通过实例构建一个查询条件

    Users user = new Users();
    List
<Users> list3 = session.createCriteria(Users.class
).add(Example.create(user)).list();
    
    
//原生SQL条件查询

    List<Users> list4 = session.createCriteria(Users.class).add(Expression.sql("{alias}.name like ?","%k%",Hibernate.STRING)).list();
    HibernateSessionFactory.closeSession();
    
return
 list4;
    }

}

所有方法解释:

 

原创粉丝点击