美文网首页
PreparedStatement,hibernate查询ora

PreparedStatement,hibernate查询ora

作者: 宋雾代 | 来源:发表于2019-02-16 08:55 被阅读0次

    在oracle中执行以下sql

    create table A(
        id char(5)
    );
    insert into A values('11');
    

    使用以下java代码查询该记录

    String sql = "select * from A where id=?";
    pstm = conn.prepareStatement(sql);
    pstm.setString(1,"11");
    rs=pstm.executeQuery();
    System.out.println(rs.next());
    

    结果查不到任何东西
    然而修改代码如下:

    String sql = "select * from A where trim(id)=?";
    

    就可以解决问题

    因为hibernate内部使用的是PrepareStatement,在查询oracle char类型时会出现上述的问题。

    相关文章

      网友评论

          本文标题:PreparedStatement,hibernate查询ora

          本文链接:https://www.haomeiwen.com/subject/kvqkeqtx.html