У меня есть объект, значение которого для столбца @Id генерируется из последовательности со стороны БД для каждой вставки, т.е. мне не нужно заполнять это значение из моей службы при выполнении вставки.
Если яне заполняйте значение, JPA / Hibernate жалуется, что мой @Id не может быть нулевым.Если я использую генератор последовательностей Oracle и заполняю значение для моего @Id во время вставки, моя БД жалуется на то, что «невозможно вставить в сгенерированный столбец всегда идентификаторов»
Я использую Oracle10g Dialect.
Я испробовал все стратегии для GenerationType - АВТО, ИДЕНТИЧНОСТЬ, ПОСЛЕДОВАТЕЛЬНОСТЬ, ТАБЛИЦА, без упоминания какой-либо последовательности.
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@Column(name = "INTERACTION_ID", unique = true, nullable = false)
public BigDecimal getINTERACTION_ID() {
return INTERACTION_ID;
}
К сожалению, моя команда БД не согласна изменить ограничения на этот столбец.Я ищу вариант, где я могу вставить данные через свой постоянный объект, не заполняя значение для столбца @Id, и иметь автоматическую вставку БД для меня.
Вот часть моего DDL:
CREATE TABLE MY_SCHEMA.MY_TABLE
(
INTERACTION_ID NUMBER(28, 0) DEFAULT "MY_SCHEMA"."ISEQ$$_85362".nextval NOT
NULL,
...,
...)
Пожалуйста, помогите мне здесь.