Hi,
I have a problem with Hibernate's "single tables" and the last postgres jdbc driver. It seems that now, driver adds a "returning *" when there is an Insert, instead of a returning [identifier] that seems more cleaner and doesn't return all the fields.
Because of the added "returning *", it crashes when there is an Insert in a table with a String type discriminator, returning this :
Caused by: org.postgresql.util.PSQLException: Bad value for type long : NACIONAL at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2796) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2019) at org.hibernate.id.IdentifierGeneratorHelper.get(IdentifierGeneratorHelper.java:114) at org.hibernate.id.IdentifierGeneratorHelper.getGeneratedIdentity(IdentifierGeneratorHelper.java:86) at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:98) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
Hibernate (3.5.4) thinks that the identifier column is the discriminator column.
Thanks for any feedback!
|