Class WJGenSequence

java.lang.Object
org.eclipse.persistence.sequencing.Sequence
org.eclipse.persistence.sequencing.StandardSequence
org.eclipse.persistence.sequencing.QuerySequence
org.eclipse.persistence.sequencing.TableSequence
sk.iway.iwcm.system.jpa.WJGenSequence
All Implemented Interfaces:
Serializable, Cloneable

public class WJGenSequence extends org.eclipse.persistence.sequencing.TableSequence

Purpose: Defines sequencing through using a SEQUENCE table.

Description This is the default sequencing mechanism. JRASKA: WebJET override povodnej TableSequence. Namiesto defaultnej JPA TableSequence, ktora pouziva tabulku SEQUENCE (pripadne nazov zadany v anotaciach) sa na generovanie primarnych klucov pouzije PkeyGenerator z WJ. Tato funkcionalita je dosiahnuta odstranenim overridovanych protected metod buildSelectQuery() a buildUpdateQuery() a overridom metod getGeneratedValue() (vracia PkeyGenerator hodnotu) a getGeneratedVector (vracia null). Nakolko sa prepopulaciu stara PkeyGenerator, JPA nesmie pri volani sekvencie pouzit getGeneratedVector(), toto dosiahneme overridom boolean metod shouldAcquireValueAfterInsert() a shouldUsePreallocation, obidve vracaju false.

See Also:
  • Field Summary

    Fields inherited from class org.eclipse.persistence.sequencing.TableSequence

    counterFieldName, defaultTableName, nameFieldName, table

    Fields inherited from class org.eclipse.persistence.sequencing.QuerySequence

    selectQuery, shouldAcquireValueAfterInsert, shouldSelectBeforeUpdate, shouldSkipUpdate, shouldUseTransaction, updateQuery, wasSelectQueryCreated, wasUpdateQueryCreated

    Fields inherited from class org.eclipse.persistence.sequencing.Sequence

    depth, initialValue, isCustomQualifier, name, platform, qualifier, shouldAlwaysOverrideExistingValue, size
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    getGeneratedValue(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession, String seqName)
    Override metody, namiesto vratenia hodnot za pouzitia SEQUENCE tabulky sa vrati hodnota z PkeyGenerator.getNextValue(seqName) Vo faze persistovania JPA entity, kde sa zo sekvencie generuje hodnota PK, sa do parametra seqName ulozi hodnota z anotacneho parametra pkColumnValue
    getGeneratedVector(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession, String seqName, int size)
    Override metody, vracia null, nakolko o prepopulaciu PK hodnot sa stara PkeyGenerator
    boolean
     
    boolean
     
    boolean
     

    Methods inherited from class org.eclipse.persistence.sequencing.TableSequence

    buildSelectQuery, buildUpdateQuery, equals, getCounterFieldName, getNameFieldName, getQualifiedTableName, getTable, getTableIndexes, getTableName, hashCode, isTable, onConnect, setCounterFieldName, setNameFieldName, setTable, setTableName

    Methods inherited from class org.eclipse.persistence.sequencing.QuerySequence

    buildSelectQuery, buildUpdateQuery, createArguments, getSelectQuery, getUpdateQuery, onDisconnect, select, setSelectQuery, setShouldAcquireValueAfterInsert, setShouldSelectBeforeUpdate, setShouldSkipUpdate, setShouldUseTransaction, setUpdateQuery, shouldSelectBeforeUpdate, shouldSkipUpdate, update, updateAndSelectSequence

    Methods inherited from class org.eclipse.persistence.sequencing.StandardSequence

    createVector, createVectorAtNextVal, setInitialValue

    Methods inherited from class org.eclipse.persistence.sequencing.Sequence

    clone, equalNameAndSize, getDatasourcePlatform, getGeneratedValue, getGeneratedVector, getInitialValue, getName, getPreallocationSize, getQualified, getQualifier, isConnected, isCustomQualifier, isNative, isUnaryTable, onConnect, onDisconnect, setDatasourcePlatform, setName, setPreallocationSize, setQualifier, setShouldAlwaysOverrideExistingValue, shouldAlwaysOverrideExistingValue, shouldAlwaysOverrideExistingValue, toString, verifyPlatform

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • WJGenSequence

      public WJGenSequence()
    • WJGenSequence

      public WJGenSequence(String name)
  • Method Details

    • getGeneratedValue

      public Object getGeneratedValue(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession, String seqName)
      Override metody, namiesto vratenia hodnot za pouzitia SEQUENCE tabulky sa vrati hodnota z PkeyGenerator.getNextValue(seqName) Vo faze persistovania JPA entity, kde sa zo sekvencie generuje hodnota PK, sa do parametra seqName ulozi hodnota z anotacneho parametra pkColumnValue
      Overrides:
      getGeneratedValue in class org.eclipse.persistence.sequencing.StandardSequence
    • getGeneratedVector

      public Vector getGeneratedVector(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession, String seqName, int size)
      Override metody, vracia null, nakolko o prepopulaciu PK hodnot sa stara PkeyGenerator
      Overrides:
      getGeneratedVector in class org.eclipse.persistence.sequencing.StandardSequence
    • shouldAcquireValueAfterInsert

      public boolean shouldAcquireValueAfterInsert()
      Overrides:
      shouldAcquireValueAfterInsert in class org.eclipse.persistence.sequencing.QuerySequence
    • shouldUseTransaction

      public boolean shouldUseTransaction()
      Overrides:
      shouldUseTransaction in class org.eclipse.persistence.sequencing.QuerySequence
    • shouldUsePreallocation

      public boolean shouldUsePreallocation()
      Overrides:
      shouldUsePreallocation in class org.eclipse.persistence.sequencing.Sequence