在本机查询中设置搜索值

Set search value in native query

我有这个 Spring JPA 本机查询:

@Query (value =
            "SELECT d.id AS id...........
                    "FROM deals_new d " +
                    "WHERE ( " +
                    "        e.first_name LIKE '%:param%' " +
                    "        OR e.last_name LIKE '%:param%' " +
                    ") " +
                    "OFFSET :offset " +
                    "LIMIT :limit ",
            nativeQuery = true)
    List<ResultDTO> getHistory(                                                   
                                                  @Param("param") String username,
                                                  @Param("offset") int offset,
                                                  @Param("limit") int limit);

设置搜索参数的正确方法是什么?正如您现在看到的那样,它是硬编码的并且设置不当。你能告诉我正确的方法是什么吗?

使用命名占位符,例如 ?1?2 等,

e.first_name LIKE CONCAT('%', ?1, '%')