簡體   English   中英

如何在 Spring Boot 的查詢注釋中使用我的參數?

[英]How can I use my parameter in query annotation in Spring Boot?

我創建了一個 MySQL 查詢作為字符串。 我想將它添加到我的@Query注釋中。 我無法從我的函數中獲取參數。 我在存儲庫findAllFaces函數@Query嘗試了:query但它不起作用。

在此處輸入圖片說明

使用?0 , ?1 , ?{index of parameter} .... 試試這個:

@Query(value = "SELECT f.id FROM faces f WHERE ?0", nativeQuery = true)
List<String> findAllFaces(String query);

另一個例子:

@Query(value = "SELECT * FROM faces WHERE key1 = ?0 AND key2 = ?1 AND key3 = ?2", nativeQuery = true)
List<String> findByKey1AndKey2AndKey3(String value1, String value2, String value3);

解決方案1:

public interface UserRepository extends JpaRepository<User, Long> {

  @Query("select u from User u where u.emailAddress = ?1")
  User findByEmailAddress(String emailAddress);
}

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query

解決方案2:

@Entity
@NamedQuery(name = "User.findByEmailAddress",
  query = "select u from User u where u.emailAddress = ?1")
public class User {

}

參考文檔: https : //docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.named-queries.annotation-based-configuration

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM