(@Tableアノテーションなどを使用して)テーブルを処理するのと同じようにJPAでビューを処理できるはずであることを読みました。ただし、主キーがない場合は、すべての列から複合キーを効果的に作成する必要があります(実際、これはHibernateのリバースエンジニアリングツールがデフォルトで実行しているように見えます)。
ただし、これを行うと、望ましくない副作用が発生します。例えば。
ビューではなく、主キーの属性を指すすべてのコードを記述する必要があります。
myViewObject.getPrimaryKey()。getFirstName()
Springリポジトリで「findBy ...」メソッドを使用できない(その属性はビューの「識別子」の一部であり、実際にはその属性の1つではないため)。
私の質問は、JPAを使用して属性に簡単にアクセスできるので、どのようにビューをマップするのですか?
注:完全に間違ったアプローチを使用していると言われてとてもうれしいです。これは、より良い解決策が必ずあるような一般的な問題のようです。
ビューのすべての行にUUID列を追加できるので、 ID列を@Idとして使用 。