美文网首页
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