これを置く方法がわかりません。しかし、ここに行く。エンティティがデータベースに存在しなくても、エンティティを返すためのhibernateの取得方法
私はテーブルムービーとuser_movieを持つデータベースを持っており、ムービーは任意のムービーに関する情報を保持しており、user_movieはムービーとのユーザー関係に関する情報を保持しています。
したがって、ユーザーが特定のムービーに「監視」という値を設定すると、user_movieにテーブルレコードが記録されます。ただし、ユーザーが監視対象の映画を設定しない場合は、ムービーが視聴されておらず、レコードが設定されていないことを意味します。このロジックは既に存在しています。 (今はいつも、映画の数を各ユーザごとにデフォルトのレコードを作成することができましたが、これはあまり効果的ではありません。)
私は映画のようにクエリを作成しようとすると、ユーザーが視聴していないことを示します。それは私のデータベースのすべての映画のリストを返す必要があります。ただし、user_mediaにはレコードが含まれていないため、実際には空のリストが表示されます。
ここで使用できる解決策はありますか?
エンティティが存在しない場合に、「デフォルト」エンティティを返すために休止状態にすることは可能ですか?または "左結合"の場合に、結合された値がNULLの場合、デフォルト値を返すことができますか?
現在のバックエンドはmysqlです。多分私はこの問題に対処するカスタム関数を作成することができますか?
EDIT
も(真、偽)、感情(LOVE、ヘイト、NULL)wishlisted、取得(真、偽)のような値を保持することができますuser_mediaは
私の解決策のための要件は、私が得るということですムービーで結合されたuser_mediaのリスト。したがって、user_mediaはNULLにすることはできません。 MySQL
で
ユーザーが視聴していたすべての映画のリストを、どのように取得しましたか?両方の状況に対応できる単一のクエリが必要です。 –
これはおそらく? idが入っているムービー(監視されているuserMediaのmovie_idをfalseとuser_id = x)から見ると、watchedはuser - > movie関係の値の1つに過ぎず、acquire(true、false)、emotion (LOVE、HATE、NULL)、wishlisted(true、false) – netbrain