Hibernate 查询方法

Posted 小淘气儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate 查询方法相关的知识,希望对你有一定的参考价值。

 1 1、简单查询:
 2  public User select(User user) {
 3         User newUser;
 4         try {
 5             newUser = (User) session.get(User.class,user.getEmails());
 6             return newUser;
 7         } catch (Exception e) {
 8             log.error("查询失败", e);
 9             return null;
10         } finally {
11             HibernateUtil.closeSession();
12         }
13     }
14 2、 用?15  public List<User>select(User user){  
16   String hql = "from user where emails= ? and password= ?";  
17   Query query = session.createQuery(hql);  
18   query.setString(0, user.getEmails());  
19   query.setString(1, user.getPassword());  
20   List<User> list = query.list();  
21   session.close();  
22   return list;  
23  }  
24   
25 3、用":+命名":  
26  public List<User> select(User user){  
27   Session session = HibernateSessionFactory.getSession();  
28   String hql = "from user where emails= :e and password= :p";  
29   Query query = session.createQuery(hql);  
30 {
31   query.setString("e", user.getEmails());  
32   query.setString("p", user.getPassword());  
33 }else{
34  query.setParameter("e", user.getEmails());  
35   query.setParameter("p", user.getPassword());  
36 }else{
37  query.setProperties(user);  
38 }
39   List<User> list = query.list();  
40   session.close();  
41   return list;  
42  }  
43 4、使用条件查询(Criteria) 没有hql语句 :
44  public List<User> select(User user){  
45   Criteria cri = session.createCriteria(User.class);  
46   cri.add(Restrictions.eq("emails", user.getEmails()));  
47   cri.add(Restrictions.eq("password", user.getPassword()));  
48   List<User> list = cri.list();  
49   session.close();  
50   return list;  
51  }  
52    
53    
54 5、离线条件查询:
55  public List<User> select(User user){  
56   DetachedCriteria dc = DetachedCriteria.forClass(User.class);  
57   dc .add(Restrictions.eq("emails", user.getEmails()));  
58   dc .add(Restrictions.eq("password", user.getPassword()));  
59   Criteria cri = dc.getExecutableCriteria(session);  
60   List<User> list = cri.list();  
61   session.close();  
62   return list;  
63  }   
64 6、分页查询:
65 1)  setFirstResult(int):指定从指定的位置开始查询
66 2)  setMaxResult(int):指定一次查询的对象数量。  

 

以上是关于Hibernate 查询方法的主要内容,如果未能解决你的问题,请参考以下文章

具有运行时 pojos 的带有 Hibernate 的 OSGi 片段包

Hibernate 5.2 版本 -> 很多查询方法已弃用?

hibernate查询-基本查询

hibernate_查询

hibernate-criteria查询

Hibernate步步为营--锁机制具体解释