菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
319
0

java.sql.SQLSyntaxErrorException: ORA-00932: 数据类型不一致: 应为 BINARY, 但却获得 CHAR

原创
05/13 14:22
阅读数 73717

今天写代码遇到的,检查了一下发现实际上是把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兼容, 也是绞尽乳汁了

发表评论

0/200
319 点赞
0 评论
收藏