Я использую значение, сгенерированное ID в моей сущности
@Id
@TableGenerator(
name="marcaTable",
table="JPA_WXS_APP_SEQUENCE_GENERATOR",
pkColumnName="GEN_KEY",
valueColumnName="GEN_VALUE",
pkColumnValue="MARCA_ID",
allocationSize=1,
initialValue=0)
@GeneratedValue(strategy=GenerationType.TABLE,generator="marcaTable")
public int getId() {
return Id;
}
Я использую таблицу для сохранения идентификатора.
Если я выполню этот код дважды, его ошибка завершится из-за дублирования идентификатора (1 идентификатор)
public static void main(String[] args) {
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("ACoches");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
marca nmarca2 = new marca();
nmarca2.setNombre_marca("pepito");
em.flush();
em.persist(nmarca2);
tx.commit();
em.close();
emf.close();
}
}
Но если я вручную выполню выбор таблицы marca, она будет пустой, кажется, что JPA не вставляет данные в строку только тогда, когда я делаю em.persist (nmarca2);
Если я удаляю таблицу JPA_WXS_APP_SEQUENCE_GENERATOR вручную и снова выбираю таблицу marca, то да, я вижу регистр.
Заранее спасибо !!!