Java 在Spring数据中使用投影JPA字段错误

Java 在Spring数据中使用投影JPA字段错误,java,hibernate,spring-mvc,jpa,spring-data-jpa,Java,Hibernate,Spring Mvc,Jpa,Spring Data Jpa,我是JavaSpring的新成员,今天我尝试使用JPA的crudepository进行查询。我使用投影 我的存储库: @Repository public interface UserRepositoty extends CrudRepository<tbl_user, Integer> { // search by username @Query(value = "select (select l.state from tbl_request_love l where l.send

我是JavaSpring的新成员,今天我尝试使用JPA的
crudepository
进行查询。我使用
投影

我的存储库:

@Repository
public interface UserRepositoty extends CrudRepository<tbl_user, Integer> {
// search by username
@Query(value = "select (select l.state from tbl_request_love l where l.senderid = u.userid) as state, u.userid as userid,u.username as username,u.nickname as nickname,u.avatar as avatar"
        + " from tbl_user u"
        + " where u.username LIKE CONCAT('%',:username,'%') and u.coupleid is null" , nativeQuery = true)
List<tbl_user_search> findByUsernameEndWith(@Param("username") String username);
}
当我进行测试时,会出现以下错误:

无法写入JSON:无法将值“hihi”的类型从[java.lang.String]转换为[int]类型
嵌套异常是java.lang.NumberFormatException:对于输入字符串:\“hihi\”
嵌套异常为com.fasterxml.jackson.databind.JsonMappingException:未能将值“hihi”的类型从[java.lang.String]转换为[int]类型
嵌套异常为java.lang.NumberFormatException:对于输入字符串:\“hihi\”

(通过参考链:
skay.model.api\u searchuser[\“result\”]->java.util.ArrayList[0]->com.sun.proxy.$Proxy87[\“userid\”])`

如果我更改类型
getUserid()指向
String
此错误已完成,并具有新的json

{
    "state": "Hi",
    "username": "https://forumhumgeduvn.000webhostapp.com/5skay/man.png",
    "userid": "Hi Hi",
    "avatar": "Pending",
    "nickname": "3"
}

但是json并没有按顺序返回字段。我认为这是我的错误。但我不知道如何解决它。你可以为我分享任何解决方案。谢谢大家!

试着像这样使用

" where u.username LIKE %:username% and u.coupleid is null"
或:


读这篇文章

我试了一下,发现了一个新错误:“字段列表”中的未知列“u.userid”。你能帮我吗?@phạmtuấn您是否可以尝试使用此查询来代替
选择l.state作为state,选择u.userid作为userid,选择u.username作为username,选择u.昵称作为昵称,选择u.avatar作为来自tbl_user u的头像,选择tbl_request_love l,其中l.senderid=u.userid和u.username LIKE%?1%,选择u.耦合器id为NULL
" where u.username LIKE %:username% and u.coupleid is null"
" where u.username LIKE %?1% and u.coupleid is null"