Die nächste GeneratedValue per getter bekommen und persitieren

Dieses Thema Die nächste GeneratedValue per getter bekommen und persitieren im Forum "Data Tier" wurde erstellt von wm, 30. Jan. 2014.

Thema: Die nächste GeneratedValue per getter bekommen und persitieren Ich habe eine Tabelle (keine Sequence), mit der ich meine @GeneratedValue hinterlege: CREATE TABLE...

  1. wm
    wm
    Ich habe eine Tabelle (keine Sequence), mit der ich meine @GeneratedValue hinterlege:

    Code (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:

    Code (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:

    Code (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?
     
  2. Vielleicht hilft dir das Grundlagen Training weiter --> *Klick*