Java Spring数据和带有like语句的本机查询

Java Spring数据和带有like语句的本机查询,java,spring,spring-data-jpa,spring-data,Java,Spring,Spring Data Jpa,Spring Data,我有以下存储库定义: public interface InstructionRepository extends JpaRepositoryWithSpecification<Instruction> { String FIND_INSTRUCTIONS_BY_TRACKING_ID_QUERY = "SELECT * FROM instruction i WHERE i.invoice_documents_trackings like '%:tr

我有以下存储库定义:

public interface InstructionRepository extends JpaRepositoryWithSpecification<Instruction> {

    String FIND_INSTRUCTIONS_BY_TRACKING_ID_QUERY =
            "SELECT * FROM instruction i WHERE i.invoice_documents_trackings like '%:trackingId%'";

    @Query(value = FIND_INSTRUCTIONS_BY_TRACKING_ID_QUERY, nativeQuery = true)
    List<Instruction> findByFileTrackingsContaining(@Param("trackingId") String trackingId);
}
这也不起作用


非常感谢您的帮助,我认为问题在于您使用
%

String FIND_INSTRUCTIONS_BY_TRACKING_ID_QUERY =
        "SELECT * FROM instruction i WHERE i.invoice_documents_trackings like CONCAT('%', :trackingId, '%')"

我认为问题在于您使用
%

String FIND_INSTRUCTIONS_BY_TRACKING_ID_QUERY =
        "SELECT * FROM instruction i WHERE i.invoice_documents_trackings like CONCAT('%', :trackingId, '%')"

您可以启用Hibernate日志记录以查看正在运行的查询,这将了解此查询未按预期工作的原因。您可以启用Hibernate日志记录以查看正在运行的查询,这将了解此查询未按预期工作的原因。