具有整数值的动态查询

时间:2019-07-19 12:34:35

标签: hibernate spring-boot integer dynamicquery

我正在使用Jpa存储库编写动态查询。所有的字符串字段都可以正常工作,但不能使用整数值。

@Query(" SELECT  NEW com.fg.tree.model.ReportDetailsVO(u.userName,u.firstName,u.lastName,u.emailId,u.role.roleName,u.contact,l.loginDate,l.loginTime,l.docPath,l.fileName,l.Action,l.systemIP)  FROM com.fg.tree.model.MstUser u,com.fg.tree.model.LoginHistoryl  WHERE u.userId = l.user.userId  AND (l.user.userId = :userId OR :userId IS NULL)AND (u.role.roleName = :rolename OR :rolename IS NULL) AND (l.Action = :action OR :action IS NULL)AND (l.loginDate BETWEEN  :startdate AND :enddate) ORDER BY u.userName")    
public List<ReportDetailsVO> testForDynamicQuery2(@Param("userId") int userId,@Param("rolename") String rolename,@Param("action") String action,@Param("startdate") Date startDate, @Param("enddate")Date endDate );

现在,如果我输入动作或角色名称,它将使用给定值检查表中的内容(如果没有输入的话),它将不会对该字段与其他字段进行检查的值。如果该列为字符串,则可以正常工作,因此,如果该条件是int值(在userId:l.user.userId = :userId OR :userId IS NULL的情况下),我该如何写条件

0 个答案:

没有答案