Le mie tabelle PostgreSQL hanno ID di tipo bigserial
, ovvero vengono generate al momento dell'inserimento delle righe (e quindi il valore della colonna id non viene fornito nell'istruzione INSERT
). Ho difficoltà a trovare il valore corretto per l'attributo <generator class="...">
nel mio file di mapping XML.Generatore di Hibernate id corretto per la colonna seriale/bigserial postgres?
Il codice seguente è il più vicino che ho trovato che sia il più vicino per Postgres, ma sta ancora eseguendo un SELECT nextval(...)
sulla sequenza prima di inserirlo (e includendo esplicitamente il valore del campo ID sull'inserto). Voglio solo che Hibernate non includa il valore del campo id, consentendo a Postgres di fare il suo lavoro di generare il valore stesso.
<id name="id" column="id" type="java.lang.Long">
<generator class="sequence">
<param name="sequence">my_sequence_name</param>
</generator>
</id>
Per le nuove versioni (JPA): http://stackoverflow.com/questions/4979746/mapping-postgresql-serial-type-with-hibernate-annotations –