2016-02-05 20 views
5

sto migrando un'applicazione in esecuzione con Hibernate 3 a 5. SospensioneMigrazione Hibernate 3-5: relazione hibernate_sequence non esiste

ho una strana errore:

ERROR: relation hibernate_sequence does not exist

Stiamo usando *.hbm.xml file di mapping e tutto funzionava bene fino a quando ho cambiato la versione di Hibernate. Voglio dire che abbiamo una mappatura abbastanza semplice con la colonna ID e il generatore di sequenze DB e Hibernate non è stato ancora in grado di selezionare la configurazione corretta.

<hibernate-mapping> 
    <class name="com.boyan.MyClass" table="my_class"> 
     <id name="id" type="long"> 
      <column name="id" /> 
      <generator class="sequence"> 
       <param name="sequence">my_class_seq</param> 
      </generator> 
     </id> 
... 
    </class> 
</hibernate-mapping> 

risposta

10

ho iniziato a scavare nel codice Hibernate e vide che SequenceGenerator è deprecato e le nuove versioni utilizzano SequenceStyleGenerator. Ero molto confuso quando ho notato che nella nuova versione la proprietà che indica quale è il nome della sequenza è stata modificata da sequence a sequence_name. Così alla fine quando ho cambiato:

<param name="sequence">my_class_seq</param> 

a:

<param name="sequence_name">my_class_seq</param> 

tutto ha funzionato.

1

Mi sono imbattuto nello stesso problema e stavo usando le annotazioni. La soluzione è stata la risposta accettata JPA GenerationType.AUTO not considering column with auto increment. Se si utilizzano le annotazioni che seguono dovrebbe essere usato.

@GenericGenerator(name = "my_seq", strategy = "native", parameters = { 
    @Parameter(name = "sequence_name", value = "mydb_seq") 
}) 
Problemi correlati