У меня проблема, когда @GeneratedValue(strategy=GenerationType.AUTO)
не работает должным образом. У меня ошибка, говорящая, что kcyn.hibernate_sequence
не существует.
Я прочитал следующую тему: hibernate не может получить следующее значение последовательности . Это говорит, что я должен изменить AUTO
на IDENTITY
. Но тогда у меня есть ошибка, говорящая, что значение NULL добавлено в первичный ключ.
Если я начинаю с несуществующей таблицы со стратегией AUTO
, hibernate автоматически создает таблицу airroute
с таблицей hibernate_sequence
.
Но, поскольку я хочу работать с существующей базой данных, у меня возникнет вопрос, какой GenerationType
я должен использовать для автоматической генерации моего идентификатора?
package models;
import javax.persistence.*;
@Entity
public class Airroute {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long id;
public String label;
public String spokenname;
public Boolean internal;
public String descr;
public String direction;
}
ОБНОВЛЕНО
Maxsim=# \d+ "KCYN-GOLD-USMC_3_141_553".airroute
Table "KCYN-GOLD-USMC_3_141_553.airroute"
Column | Type | Modifiers | Storage | Stats target | Description
------------+----------------+-----------+----------+--------------+-------------
id | numeric(11,0) | not null | main | |
label | character(8) | | extended | |
spokenname | character(60) | | extended | |
internal | boolean | | plain | |
descr | character(250) | | extended | |
direction | character(1) | | extended | |
Indexes:
"airroute_pkey" PRIMARY KEY, btree (id)