[解決済み] SpringデータのJPAクエリでパラメータプロパティを使用する
2023-02-17 13:38:12
質問
入力パラメータのプロパティをクエリパラメータとして使用するSpring data JPAクエリを宣言する最も簡単な方法は何ですか?
例えば、エンティティクラスがあるとします。
public class Person {
@Id
private long id;
@Column
private String forename;
@Column
private String surname;
}
と別のクラスがあります。
public class Name {
private String forename;
private String surname;
[constructor and getters]
}
... では、以下のようにSpringのデータリポジトリを書きたいと思います。
public interface PersonRepository extends CrudRepository<Person, Long> {
@Query("select p from Person p where p.forename = ?1.forename and p.surname = ?1.surname")
findByName(Name name);
}
...しかし、Springデータ/JPAはプロパティ名を
?1
パラメータにプロパティ名を指定することを嫌います。
最もすっきりした代替案は何ですか?
どのように解決するのですか?
このリンクが役に立ちます。Spring Data JPA M1ではSpEL式がサポートされています。似たような例としては
@Query("select u from User u where u.firstname = :#{#customer.firstname}")
List<User> findUsersByCustomersFirstname(@Param("customer") Customer customer);
https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions
関連
-
[解決済み】Spring Data Maven Buildsの「プラグインの実行はライフサイクル構成でカバーされていません」を解決する方法
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
[解決済み] Spring DataでOrderByをfindAllで使用する方法
-
[解決済み] クラスを@Componentでアノテートした場合、Spring BeanとSingletonということになるのでしょうか?
-
[解決済み] Spring DAOとSpring ORMとSpring JDBCの比較
-
[解決済み] Spring Securityをセッションなしで使用するにはどうすればよいですか?
-
[解決済み] Spring RestTemplateでSSL証明書検証を無効にする
-
[解決済み] Spring Bootアプリケーションの環境指定application.propertiesファイル [終了しました]。
-
[解決済み] RestTemplateを使ったヘッダ付きHTTP get
-
[解決済み] SpringアプリケーションのコンテキストをJunitのテストクラスで再利用する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 複数のBeanが見つかった場合、Springはどのように名前による自動配線を行うのですか?
-
[解決済み] java:comp/env/は何をするところですか?
-
[解決済み] Spring BeanPostProcessorは具体的にどのように動作するのですか?
-
[解決済み] SpringでLocalDateTime RequestParamを使用するには?StringからLocalDateTimeへの変換に失敗しました」と表示される。
-
[解決済み] なぜ春になると静電場が自動化されないのか?
-
[解決済み] Spring Securityをセッションなしで使用するにはどうすればよいですか?
-
[解決済み] Spring CORS 'Access-Control-Allow-Origin' ヘッダが存在しない。
-
[解決済み] Map または Properties オブジェクトとしてすべての環境プロパティにアクセスする
-
[解決済み] Spring AOP: JoinPointとPointCutの違いは何ですか?
-
[解決済み] RequestBodyと@RequestParamの違いは何ですか?