xy_makq
xy_makq
采纳率77.8%
2015-02-16 17:17 阅读 17.9k

jpa原生sql插入数据,参数如何设置?

我用的Jpa原生sql语句插入Mysql数据库,不知道插入时参数如何设置,代码如下:
query=em.createNativeQuery("insert into store_buy(product_name,numbers,price,style,ower,orderdate,descs) values(product_name=:product_name,numbers=:numbers,price=:price,style=:style,ower=:ower,orderdate=:orderdate,descs=:descs)");
query.setParameter("product_name", "aaaabb");
query.setParameter("numbers", 100);
query.setParameter("price", 100);
query.setParameter("style", "aa");
query.setParameter("ower", "aaaa");
query.setParameter("orderdate", "aaa");
query.setParameter("descs", "aaaa");

    执行后,发现设置的参数没有设置成功成功(日志如下:Hibernate: insert into store_buy(product_name,numbers,price,style,ower,orderdate,descs) values(product_name=?,numbers=?,price=?,style=?,ower=?,orderdate=?,descs=?)),查询数据库发现结果如下图:

    期间不报任何错误,但是就是参数设置不成功,product_name 和 price不知道被设置成了 0,其余都是null ,确实执行插入语句了。

    哪位用过这玩意儿?给指导一下,多谢 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    wulinshishen 人生偌只如初见 2015-02-17 01:07

    em.createNativeQuery("insert into user (name, password) values (?, ?)").setParameter(1, "zhangsan").setParameter(2, "zhangsan");

    点赞 1 评论 复制链接分享
  • xy_makq xy_makq 2015-02-17 02:05

    多谢,测试通过

    但是为什么我这种方式就不行呢,文档说这两种方式都可以的

    query=em.createNativeQuery("insert into store_buy(product_name,numbers,price,style,ower,orderdate,descs) values(product_name=:product_name,numbers=:numbers,price=:price,style=:style,ower=:ower,orderdate=:orderdate,descs=:descs)")
    .setParameter("product_name", "aaaabb").setParameter("numbers", 100).setParameter("price", 100).setParameter("style", "aa").setParameter("ower", "aaaa").setParameter("orderdate", "aaa").setParameter("descs", "aaaa");

    点赞 评论 复制链接分享

相关推荐