怎么我可以用我的参数查询的注释在弹簧引导?

0

的问题

我创建了一个MySQL查询作为一串。 我想把它加到我的 @Query 注释。 我不能获得参数,从我的功能。 我试过了 :query 在仓库 findAllFaces 功能 @Query 但是它不工作。

enter image description here

annotations java mysql spring-boot
2021-11-16 22:52:25
2
0

使用 ?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);
2021-11-17 03:17:21
0

解决方案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

2021-11-18 07:43:14

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................