My Photo

« ジュビロ今期初勝利 さすが隊長 | Main | FF11 黒AF2個ゲット »

March 16, 2008

Hibernateメモ

"Col1=val and Col2 like val2" を条件に検索して件数を取得。

session.createCriteria(Xxx.class); // 引数:対象テーブルの永続化クラス
crit.add(Restrictions.eq("Col1", val1)); // val1:String、マッピングファイルのproperty要素のname属性?
crit.add(Restrictions.like("Col2", val2, MatchMode.ANYWHERE)); // val2:String
crit.setProjection(Projections.rowCount());
Number count = (Number)crit.uniqueResult();
int countVal = (count == null) ? 0 : count.intValue();


Restrictions.like()の第3引数machmodeで一致条件を以下のように変えられる。
MachMode.ANYWHERE:どこかで一致("%value%")
MachMode.START:前方一致("value%")
MachMode.END:後方一致("%value")


-------------------------------------------
特定の列だけ取得する。
この場合、結果のリストの要素は長さ3のObjectの配列、つまりObject[]型である。

crit.setProjection(
Projections.projectionList()
.add(Projections.property("Col1"))
.add(Projections.property("Col2"))
.add(Projections.property("Col3")));
List result = crit.list();
if (result.size() > 0) {
Object[] row = (Object[])result.get(0);
}

« ジュビロ今期初勝利 さすが隊長 | Main | FF11 黒AF2個ゲット »

「Java」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/40523166

Listed below are links to weblogs that reference Hibernateメモ:

« ジュビロ今期初勝利 さすが隊長 | Main | FF11 黒AF2個ゲット »

March 2017
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof