微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 用hibernate执行本机sql

我正在使用hibernate 4.2.6和Postgresql 9.1
我一直在尝试用hibernate执行SQL查询.我写过:

Session session = Hibernate.util.HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
String sql = String.format("INSERT INTO products (name,cost) VALUES('%s',%s);", product.getName(), product.getCost());
createsqlQuery(sql);//has no effect. Query doesn't execute.
session.getTransaction().commit();
session.close();

查询不在DB中执行.但如果我写

String sql = String.format("INSERT INTO products (name,cost) VALUES('%s',%s);", product.getName(), product.getCost());
Properties connectionProps = new Properties();
connectionProps.put("user", "postgres");
connectionProps.put("password", "123");
Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/solid",connectionProps);
conn.createStatement().execute(sql);

相应的行将添加到表中.为什么hibernate不起作用,但JDBC工作的本机查询

解决方法:

这应该对你有帮助.

Session session = Hibernate.util.HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
String sql = String.format("INSERT INTO products (name,cost) VALUES('%s',%s);",product.getName(), product.getCost());
session.createsqlQuery(sql).executeUpdate();
session.getTransaction().commit();
session.close();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐