首页 > 解决方案 > 我对生成的战争有疑问,某些 jpa 原生查询不起作用

问题描述

当我将生成的文件放在生产服务器上WAR时,我遇到了一些 JPA 本机查询的问题。WAR我有一个日志文件和在生产服务器上引发的错误。

在我的 JPA 存储库中,我有这个方法:

@Query(value = "SELECT * FROM ExpedientsDashboard exp WHERE exp.Company_Id = :companyId AND exp.Deleted_At = :deletedAt AND (exp.Status like %:status% OR (exp.LastState like %:status% AND exp.IsReOpen = 1)) ORDER BY exp.Id ASC /*#pageable*/",
countQuery="SELECT count(*) FROM ExpedientsDashboard exp WHERE exp.Company_Id = :companyId AND exp.Deleted_At = :deletedAt AND (exp.Status like %:status% OR (exp.LastState like %:status% AND exp.IsReOpen = 1))",
nativeQuery = true)
Page<ExpedientDashboard> findAllByCompanyIdAndStatusAndDeletedAt(
  @Param("companyId") Integer companyId,
  @Param("deletedAt") Integer deletedAt, 
  @Param("status") String status, Pageable pageable
);

这是一个原生查询...

在Controller中,我只调用方法来获取数据。在本地,这工作正常。但在生产中,它失败了。

生产服务器上的日志文件的输出是:

com.microsoft.sqlserver.jdbc.SQLServerException: Sintaxis wronga cerca de '@P0'

如果我在WAR本地运行它可以完美运行,与生产中的 bdd 连接。

标签: javasql-serverhibernatespring-bootspring-data-jpa

解决方案


推荐阅读