Any news on this one? Same problem occurs here with hibernate-core-3.3.0.SP1 and DB2 datatype packed decimal(20,0).
String longnumberAsString = "12345678912345678912"; // 20 digits BigInteger longnumberAsBigInteger = new BigInteger(longnumberAsString ); // 20 digits BigDecimal longnumberAsBigDecimal = new BigDecimal(longnumberAsString ); // 20 digits
Query selectQuery1 = em.createQuery("SELECT ec FROM EntityClass ec WHERE ec.longnumber = '" +longnumberAsString+"'"); // => works
Query selectQuery2 = em.createQuery("SELECT ec FROM EntityClass ec WHERE ec.longnumber = " +longnumberAsBigInteger); // => doesn't work
Query selectQuery3 = em.createQuery("SELECT ec FROM EntityClass ec WHERE ec.longnumber = " +longnumberAsBigDecimal); // => doesn't work
Query selectQuery4 = em.createQuery("SELECT ec FROM EntityClass ec WHERE ec.longnumber = " +longnumberAsBigDecimal+".00"); // => works
Caused by: java.lang.NumberFormatException: For input string: "12345678912345678912" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Long.parseLong(Long.java:422) at java.lang.Long.valueOf(Long.java:525) at org.hibernate.hql.ast.util.LiteralProcessor.determineIntegerRepresentation(LiteralProcessor.java:257) ... 35 more
|