2

Hibernate のクエリからリストを取得したいのですが、繰り返し要素はありません。

現在、私は次のようなものを持っています:

SELECT t FROM Table t join fetch t.list tl WHERE tl.userid=:userid AND tl.tableid=t.id

これはうまくいきます!問題は、ユーザーIDと同じ回数同じオブジェクトを返すことです.tl

だから、ユーザーIDがtlで3回見つかったとしましょう:

T
  TL1
  TL2
  TL3
T
  TL1
  TL2
  TL3
T
  TL1
  TL2
  TL3

そして私は取得したい:

T
  TL1
T
  TL2
T
  TL3

または1つだけ:

T
  TL1
  TL2
  TL3

Hibernateで可能だと思いますが、まだ管理していません。

前もって感謝します

4

3 に答える 3

1

書いてください

SELECT  distinct t FROM Table t join fetch t .......
      -----^------

HQL ORDER BY 句と DISTINCT 句がさらに役立ちます。

于 2013-04-25T09:00:14.380 に答える
0

DISTINCTを使用しない理由

  SELECT DISTINCT t FROM Table t join fetch t.list tl WHERE tl.userid=:userid 
AND tl.tableid=t.id

繰り返される値なしで結果が得られます

于 2013-04-25T09:02:28.157 に答える
0

Criteria.DISTINCT_ROOT_ENTITY を使用することもできます

于 2013-04-25T09:21:24.457 に答える