この質問の背景は次のとおりです。
ただし、なぜこれを知りたいのかについて言及する必要があります。
多くの役割(ブールフィールド)を持つクラスがあります。のような名前付きクエリ (JPA) を作成したくない
@NamedQuery(name= "searchUserWithRoles", query="SELECT u FROM User u WHERE u.role.admin = :admin AND u.role.printer = :printer AND ... .. . .+ 20 more booleans...)
私の考えは、名前付きクエリを次のように削減する Role クラスのすべてのフィールドのハッシュコード (または同様のもの) を作成することでした。
@NamedQuery(name= "searchUserWithRoles", query="SELECT u FROM User u WHERE u.role.hashcode = :hashcode)
これによりパフォーマンスが向上するだけでなく、クエリが非常に短くなると思います(ユーザークラスのフィールドのような「ロール」があります)。
また、Role クラスをさらに多くのロール フィールドで更新するときに、名前付きクエリを更新する必要はありません。
それが最初の質問の背景です。
新しい質問は次のとおりです。Role クラスに、真のすべてのフィールドの説明である「ハッシュコードのような」フィールドを生成する方法はありますか (Role クラスがより多くのフィールドで更新されたとしても)?
前もって感謝します