3

ここで休止状態の基準ドキュメントを読んでいました:

http://docs.jboss.org/hibernate/orm/3.6/javadocs/org/hibernate/Criteria.html

私は何度もそれを使用しており、通常はcreateAlias()を使用してテーブルを結合しています。ここでは、結合を作成してテーブルからデータを取得するための 2 つのメソッドを提供しています。

 List cats = session.createCriteria(Cat.class)
     .createCriteria("kittens")
         .add( Restrictions.like("name", "Iz%") )
     .list();

 List cats = session.createCriteria(Cat.class)
     .createAlias("kittens", "kit")
     .add( Restrictions.like("kit.name", "Iz%") )
     .list();

そのため、との違いを区別できません.createCriteria("kittens")createAlias("kittens", "kit")または、このコードが正確に何をしているのかわからない可能性があります。誰かが私の混乱を解消するのを手伝ってくれますか。

4

2 に答える 2

4

唯一の違いはCreateCriteria、alias パラメーターなしで 2 つの追加のオーバーロードがあることです。この違いは、最新バージョンでは長くなくなりました。

ただし、基本的に、アプリケーションの使用法は少し異なります。CreateCriteria親から子へのマッピングの関係を使用しCreateAlias、ルートからカスタマイズしたエイリアス名を使用してそれらを定義します

詳しくはこちらから。

于 2013-08-05T15:52:24.540 に答える