|
With table:
CREATE TABLE moneydata (
amount numeric(19, 8)
);
The following fails when using JPA 2.0 EntityManager :
String sql = "INSERT INTO moneydata (amount) VALUES (:amount)";
Query insert = em.createNativeQuery(sql);
sql.setParameter("amount", new BigDecimal("123.45"));
insert.executeUpdate();
It gives PostgreSQL ERROR: Cannot cast type bytea to numeric
However using Hibernate specific Session API works:
String sql = "INSERT INTO moneydata (amount) VALUES (:amount)";
Session session = em.unwrap(Session.class);
SQLQuery insert = session.createSQLQuery(sql);
sql.setBigDecimal("amount", new BigDecimal("123.45"));
insert.executeUpdate();
|