I tried the following mapping:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="A" table="`A`" lazy="false">
<id name="Id" column="`id`" type="integer" unsaved-value="0">
<generator class="identity">
</generator>
</id>
<property name="Column" column="`Column`" type="long" not-null="false"/>
</class>
</hibernate-mapping>
I quoted all table and column name with (`), when I save an object A, it generate:
Code:
Hibernate: insert into "A" ("Column") values (?)
Hibernate: select currval('"A"_"id"_seq')
09:46:10,421 WARN JDBCExceptionReporter:57 - SQL Error: 0, SQLState: 42602
09:46:10,421 ERROR JDBCExceptionReporter:58 - ERROR: invalid name syntax
I looked at the database, the sequence name is "A_id_seq", so the correct statement should be select currval('"A_id_seq"'). Is it a bug?
Thanks.