Hibernate データの検索
2008/08/21 20:54Update
Hibernate では、データの検索を簡単に行うために、様々な工夫をしています。
本文は、実際のサンプルからHibernateでのデータの検索方法について学びます。
◇ データの全件を取得する
◇ Criteriaで指定する条件でデータを取得する
◇ HQLで指定する条件でデータを取得する
◇ SQLで指定する条件でデータを取得する
次のサンプルはHibernateでのデータ検索方法について簡単に説明していますが、詳細は Hibernate クエリ
をご参照ください。
◇ データの全件を取得する
◇ Criteriaで指定する条件でデータを取得する
◇ HQLで指定する条件でデータを取得する
◇ SQLで指定する条件でデータを取得する
次のサンプルはHibernateでのデータ検索方法について簡単に説明していますが、詳細は Hibernate クエリ
をご参照ください。import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Expression;
/*
* AppSuperDao: 親DAOクラス(定義の解説略)
* UserMstDao:テーブル USER_MSTを操作するクラス
*/
public class UserMstDao extends AppSuperDao {
/**
* セッションを取得する(共通化すべきであるメソッド)
* @return Session
*/
private Session getSession() {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session s = sessionFactory.openSession();
return s;
}
//データ検索
/**
* UserMstデータ検索(全件取得)
* @return USER_MSTの全件データ。
*/
public List <UserMst> getList() {
return getSession().createCriteria(UserMst.class).list();
}
/**
* Criteriaより指定条件で合致するユーザのリストを取得する
* @param name ユーザ名
* @return 合致するユーザのリスト
*/
public List <UserMst> getListByName(String name) {
Criteria criteria = getSession().createCriteria(UserMst.class);
criteria.add(Expression.eq("name", name));
return criteria.list();
}
/**
* HQL文より指定条件で合致するユーザのリストを取得する
* @param name ユーザ名
* @return 合致するユーザのリスト
*/
public List <UserMst> getListByNameHql(String name) {
//HQL文
String hql = "FROM UserMst u WHERE u.name = :name";
Query query = getSession().createQuery(hql);
//条件
query.setString("name", name);
//クエリ発行
return query.list();
}
/**
* SQL文より指定条件で合致するユーザのリストを取得する
* @param name ユーザ名
* @return 合致するユーザのリスト
*/
public List <UserMst> getListByNameSql(String name) {
//HQL文
String sql = "FROM USER_MST u WHERE u.NAME = :name";
Query query = getSession().createSQLQuery(sql);
//条件
query.setString("name", name);
//クエリ発行
return query.list();
}
}
Sponsored Link
- Relative Articles
- Hibernate設定ファイルその1 - hibernate.cfg.xml - (2008/07/09 14:08)
- Hibernate c3p0 - よく利用されているコネクションプーリング - (2008/07/09 15:00)
- Hibernate 方言(Dialect)一覧 - (2008/07/09 15:10)
- Hibernate のSessionとSessionFactory - (2008/07/09 15:51)
- ThreadLocal でHibernate Session を効率的に管理する - (2008/07/09 18:43)
- Hibernateで複数のDBに接続するには? - (2008/07/09 18:47)
- Hibernateとは - (2008/07/11 14:23)
- Hibernate のインストール - (2008/07/24 11:01)
- Hibernate の開発手順 - (2008/07/24 12:44)
- Hibernate SQLをログに出力方法 - (2008/07/30 16:06)