从JpaRepository原生查询返回一个字符串?

4

我试图使用本地查询来返回我的表中某个列的值。

我知道本地查询可以用于返回对象,比如这个例子:

public interface UserRepository extends JpaRepository<User, Long> {

  @Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?1", nativeQuery = true)
  User findByEmailAddress(String emailAddress);
}

然而,我该如何编写代码才能返回一列的值呢?也就是说,如果我只想返回用户的名称(字符串),而不是用户的object,该怎么办?

1个回答

13

试一下这个:

public interface UserRepository extends JpaRepository<User, Long> {

  @Query(value = "SELECT u.name FROM USERS u WHERE EMAIL_ADDRESS = ?1", nativeQuery = true)
  String findByEmailAddress(String emailAddress);
}

为什么需要使用诸如u.name之类的东西呢? - java123999
1
好的观点。这并不是错误的。SELECT name FROM USERS WHERE EMAIL_ADDRESS = ?1 也是正确的。 - Jakub Bibro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接