Execute native sql with hibernate
hibernate, java, jdbc, postgresql, sql
Solution
This should help you.
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();
Problem
I'm using `hibernate 4.2.6` and `PostgreSQL 9.1` I've been trying to execute sql query with hibernate. I've written: ``` 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(); ``` This query does not executed in DB. But if I write ``` 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); ``` corresponding row will add to table. Why hibernate doesn't work, but native query wth JDBC works?