java.sql.SQLSyntaxErrorException: ORA-00932: 數據類型不一致: 應為 BINARY, 但卻獲得 CHAR


今天寫代碼遇到的,檢查了一下發現實際上是把null值作為參數了

遇到此類問題,需要檢查傳入的參數中是否有空值(null).

查詢代碼如下:

@Repository
public interface OssDao extends JpaRepository<OssFileEntity, Long> {

    @Query(nativeQuery = true, value =
            " SELECT " +
                    " \"uri\" " +
                    " FROM " +
                    "         \"oss_file\" " +
                    " WHERE " +
                    " \"namespace\" = :namespace " +
                    " AND \"prefix\" LIKE COALESCE (:prefix, '%%') " +
                    " AND \"name\" LIKE COALESCE (:fileName, '%%') "
    )
    List<String> findUriByCondition(@Param("namespace") String namespace,
                                    @Param("prefix") String prefix,
                                    @Param("fileName") String fileName);
}

為了做Oracle和MySQL兼容, 也是絞盡乳汁了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM