Hibernate的条件查询
2014-01-14 00:07
337 查看
//条件查询是更具面向对象特色的数据查询方式
package test;
import org.hibernate.*;
import org.hibernate.criterion.Restrictions;
import java.util.*;
public class CriteriaTest {
public static void main(String[] args) {
CriteriaTest criteriaTest = new CriteriaTest();
criteriaTest.query();
criteriaTest.queryWithJoin();
HibernateUtil.sessionFactory.close();
}
private void query() {
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
// eq相等、gt大于、ge大于等于、lt小于、like......
List l = session.createCriteria(Person.class).add(Restrictions.eq("name", "eee")).list();
Iterator it = l.iterator();
System.out.println("=====简单条件查询获取指定学生记录=====");
while (it.hasNext()) {
Person p = (Person) it.next();
System.out.println(p.getName());
}
tx.commit();
HibernateUtil.closeSession();
}
// 示范根据关联实体的属性过滤数据
private void queryWithJoin() {
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
List l = session.createCriteria(Person.class).add(Restrictions.eq("name", "eee"))
// 如果要增加对Student的关联类的属性的限制,则必须重新createCriteria()
// 如果此关联属性是集合,则只要集合里任意一个对象的属性满足下面条件即可
// .createCriteria("address").add( Restrictions.eq("name" , "address111"))
.createAlias("address", "ad").add(Restrictions.eq("ad.name", "address111")).list();
Iterator it = l.iterator();
System.out.println("=====关联条件查询获取指定学生下指定地址下的记录=====");
while (it.hasNext()) {
Person p = (Person) it.next();
System.out.println(p.getName());
}
tx.commit();
HibernateUtil.closeSession();
}
}
package test;
import org.hibernate.*;
import org.hibernate.criterion.Restrictions;
import java.util.*;
public class CriteriaTest {
public static void main(String[] args) {
CriteriaTest criteriaTest = new CriteriaTest();
criteriaTest.query();
criteriaTest.queryWithJoin();
HibernateUtil.sessionFactory.close();
}
private void query() {
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
// eq相等、gt大于、ge大于等于、lt小于、like......
List l = session.createCriteria(Person.class).add(Restrictions.eq("name", "eee")).list();
Iterator it = l.iterator();
System.out.println("=====简单条件查询获取指定学生记录=====");
while (it.hasNext()) {
Person p = (Person) it.next();
System.out.println(p.getName());
}
tx.commit();
HibernateUtil.closeSession();
}
// 示范根据关联实体的属性过滤数据
private void queryWithJoin() {
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
List l = session.createCriteria(Person.class).add(Restrictions.eq("name", "eee"))
// 如果要增加对Student的关联类的属性的限制,则必须重新createCriteria()
// 如果此关联属性是集合,则只要集合里任意一个对象的属性满足下面条件即可
// .createCriteria("address").add( Restrictions.eq("name" , "address111"))
.createAlias("address", "ad").add(Restrictions.eq("ad.name", "address111")).list();
Iterator it = l.iterator();
System.out.println("=====关联条件查询获取指定学生下指定地址下的记录=====");
while (it.hasNext()) {
Person p = (Person) it.next();
System.out.println(p.getName());
}
tx.commit();
HibernateUtil.closeSession();
}
}
相关文章推荐
- hibernate中日期条件查询问题setDate,setTimestamp
- Hibernate的动态条件查询DetachedCriteria
- hibernate参考手册之---条件查询(Criteria Query)
- hibernate查询之条件查询
- Hibernate之条件查询(Criteria Queries)
- 【Java EE (Struts2 + Spring + Hibernate)开发】 :Hibernate(二)之【HQL查询|条件查询|SQL查询】
- Hibernate的条件查询的几种方式+查询所有的记录
- hibernate条件查询注入自定义Bean无需配置文件,取需要的字段
- Hibernate HQL基础 限定查询条件(这里面有各种条件查询)
- hibernate 根据外键作为条件查询
- Hibernate条件查询
- Hibernate动态条件查询并分页
- hibernate的gethibernatetemplate find条件查询方法
- hibernate Criteria查询多对多(Set集合)条件筛选
- hibernate的多条件动态查询
- Hibernate(基础一) Hibernate3的动态条件查询DetachedCriteria用法
- Hibernate的学习之路十七(HQL条件查询)
- Hibernate @OneToMany等注解设置查询过滤条件等
- Hibernate中QBC限定条件查询
- Hibernate学习30 -- Hibernate查询语言(HQL)4 -- 条件查询