我正在使用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
的情况下),我该如何写条件