1

私の要件は、ドメイン オブジェクトにカスタム フィールドをほとんど持たないことです。これらのフィールドは、クライアントごとに異なる場合があります。

Spring Data JPA を使用してファインダーを実行しています。Spring データは暗黙的にドメインの静的フィールドのファインダーを提供し、オブジェクト グラフ内のフィールドのファインダーも処理できます。

カスタム フィールドのデータを検索する方法があるかどうか知りたいですか? 誰かが私に同じことを達成するための戦略を提案できますか? 以下は私のドメインクラスのサンプルです。

パブリッククラス従業員{

プライベート文字列名;

プライベート文字列の年齢;

プライベート マップ customeFields; (お客様によって異なる場合があります)

}

私は QueryLookupStrategy をオーバーライドし、それを達成するために PartTreeJpaQuery の行に CustomJpaQuery を作成することを考えていました。より良いアプローチはありますか?spring data jpa は、クエリ作成メカニズムをオーバーライドする簡単なメカニズムを提供しますか?

4

1 に答える 1

2

休止状態を使用している場合 (他の JPA 実装については不明)、次の@Queryような注釈付きのメソッドを追加できます。

@Query("select e from Employee as e where e.customeFields[:key] = :value")
List<Employee> findSomeHow(@Param("key") String key, @Param("value") String value)
于 2013-03-05T22:12:07.087 に答える