Ich habe eine Tabelle (keine Sequence), mit der ich meine @GeneratedValue hinterlege:
Das sieht für das abstract PersistObj so aus:
Ich möchte mir per Hibernate ad hoc mit einem getter die nächste VALUE holen, also hier (VALUE += 10).
Ich weiß nicht, ob das geht, aber ich suche einen getter so etwas wie:
Aber hier brauche ich dann eine dummyId (@Id), oder geht das auch anders besser?
SQL:
CREATE TABLE HIBERNATE_ID_GEN
(
NAME VARCHAR (255) NOT NULL,
VALUE NUMERIC(19) NOT NULL
);
Das sieht für das abstract PersistObj so aus:
Java:
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "keyGenerator")
@TableGenerator(name = "keyGenerator", table = "HIBERNATE_ID_GEN", pkColumnName = "NAME", valueColumnName = "VALUE", pkColumnValue = "NAME", allocationSize = 10)
private long id;
...
Ich möchte mir per Hibernate ad hoc mit einem getter die nächste VALUE holen, also hier (VALUE += 10).
Ich weiß nicht, ob das geht, aber ich suche einen getter so etwas wie:
Java:
...
this.entityManager.getTransaction().begin();
hibernateIdGen.setValue(hibernateIdGen.getValue() + 10);
Long nextValue = hibernateIdGen.getValue();
...
this.entityManager.persist(hibernateIdGen);
this.entityManager.getTransaction().commit();
...
Aber hier brauche ich dann eine dummyId (@Id), oder geht das auch anders besser?