У меня есть класс MyEntity
с несколькими столбцами, один из которых является идентификатором автоинкремента.MyEntity
выглядит следующим образом:
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Basic(optional = false)
@Column(nullable = false)
private Long id;
Когда я создаю новый MyEntity
и задаю все остальные столбцы (я не задаю столбец id), а затем вызываю persist
:
MyEntity mn = new MyEntity("val1", "val2");
em.getTransaction().begin();
em.persist(mn);
em.getTransaction().commit();
em.close();
возникает следующая ошибка:
Запрос: DataModifyQuery (name = "SEQUENCE" sql = "ОБНОВЛЕНИЕ SEQUENCE SET SEQ_COUNT = SEQ_COUNT +? WHERE SEQ_NAME =?")
Причина: java.sql.SQLSyntaxErrorException: Таблица / Представление 'SEQUENCE' не существует.
Я пытался изменить стратегию @GeneratedValue
безрезультатно.Есть много подобных проблем в сети, но нет четкого решения, что делать в этом случае.
Нужно ли присваивать определенное значение столбцу id
в моей новой неуправляемой сущности?Нужно ли устанавливать конкретные значения в таблице, где находится столбец id
(я только установил, что это первичный ключ)?