我正在按名字、姓氏和號碼進行過濾。有時我想按單個名字搜索,有時按名字和姓氏搜索,有時按全部搜索。LIKE和is null操作不起作用。
例子
name:Adam surname:Max no:1235464 WORKING
name:Adam surname:Max no:(Null) NOT WORKING
20210913 15: 45: 48 ERROR o. a.c.c.C.[。[。[dispatcherServlet] - Servlet。 service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao. InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org. hibernate.exception.SQLGrammarException: could not extract ResultSet] 。與根本原因
oracle.jdbc.OracleDatabaseException。ORA-01722: invalid number
@Transactional
@Modifying @Transactional
@Query(value = " SELECT U.* FROM USER U "
"LEFT JOIN CV ON U.USERID=CV.USERID"
"JOIN PROFIL P ON P.CV_ID=CV.CV_ID "
"AND(:name is null OR P.name LIKE %:name% ) "
"AND (:surname is null OR P.surname LIKE %:surname% ) "
"AND (:no is null OR U.no=:no ) ", nativeQuery = true)
public List<User> findByDynamicQuery(@Param("name") String name, @Param("surname") String surname, @Param("no") String no)。)
uj5u.com熱心網友回復:
我需要你的用戶模型類的代碼來驗證這一點,但是 如果不是這種情況,請分享更多的資料,我們將嘗試幫助你。
標籤:oracle.jdbc.OracleDatabaseException: ORA-01722: invalid number通常意味著在將String轉換為數字時出現了問題。因為只有當你的數字是NULL時它才作業,那么我懷疑你正在使用原始型別(例如int,long)而不是實際的Number類。如果是這樣的話,那么在你的模型中用Integer/Long替換int/。
