0

ユーザーが訪問したかどうかをマークできる地元のパブのリストを持つ無意味なアプリを作成することで、冬眠を自分自身に教えようとしています。基本的には派手な目盛りリストです。

生のSQLでこれを書いていた場合、パブのテーブル、ユーザーのテーブル、および他の2つのテーブルのIDをリンクする結合テーブルがあり、パブが特定のユーザーに対して訪問済みとしてマークされている場合があります。

指定したユーザーの訪問ステータスを含む完全なリストを取得するために使用するクエリは、次のようになります (postgres で)

SELECT *, (CASE WHEN up.id IS null THEN 0 ELSE 1 END) AS visited 
FROM pubs p  
LEFT JOIN users_pub up ON p.id = up.pubId

モデルクラスに注釈を付けて、この訪問したプロパティを表示する方法を見つけようとしています。アイデア?

休止状態のドキュメントは初心者にとって非常に扱いにくい場合があるため、正しい方向への微調整も歓迎します。どうもありがとう。

4

1 に答える 1

0

これをモデル化する最も簡単な方法は、 のコレクションをUser持つクラスであるため、ユーザーを読み取り、ユーザーが訪れたパブのコレクションを取得できます。@ManytoManyPub

次に、 User に次のようなメソッドを実装するのは簡単です。

hasVisitedPub(id)

そのパブがpubsVisitedコレクション内にある場合、true を返します。

Map<id, Pub>多数のパブを訪れた人のためにルックアップをより効率的にしたい場合は、 a を使用してください:-)

于 2012-08-11T04:08:47.313 に答える