Class GeneratedValueGeneration

    • Constructor Detail

      • GeneratedValueGeneration

        public GeneratedValueGeneration()
      • GeneratedValueGeneration

        public GeneratedValueGeneration​(GenerationTiming timing)
    • Method Detail

      • initialize

        public void initialize​(Generated annotation,
                               java.lang.Class<?> propertyType)
        Description copied from interface: AnnotationValueGeneration
        Initializes this generation strategy for the given annotation instance.
        Specified by:
        initialize in interface AnnotationValueGeneration<Generated>
        annotation - an instance of the strategy's annotation type. Typically implementations will retrieve the annotation's attribute values and store them in fields.
        propertyType - the type of the property annotated with the generator annotation. Implementations may use the type to determine the right ValueGenerator to be applied.
      • getValueGenerator

        public ValueGenerator<?> getValueGenerator()
        Description copied from interface: ValueGeneration
        Obtain the in-VM value generator.

        May return null. In fact for values that are generated "in the database" via execution of the INSERT/UPDATE statement, the expectation is that null be returned here

        Specified by:
        getValueGenerator in interface ValueGeneration
        The strategy for performing in-VM value generation
      • referenceColumnInSql

        public boolean referenceColumnInSql()
        Description copied from interface: ValueGeneration
        For values which are generated in the database (ValueGeneration.getValueGenerator() == null), should the column be referenced in the INSERT / UPDATE SQL?

        This will be false most often to have a DDL-defined DEFAULT value be applied on INSERT

        Specified by:
        referenceColumnInSql in interface ValueGeneration
        true indicates the column should be included in the SQL.
      • getDatabaseGeneratedReferencedColumnValue

        public java.lang.String getDatabaseGeneratedReferencedColumnValue()
        Description copied from interface: ValueGeneration
        For values which are generated in the database (ValueGeneration.getValueGenerator() == null), if the column will be referenced in the SQL (ValueGeneration.referenceColumnInSql() == true), what value should be used in the SQL as the column value.

        Generally this will be a function call or a marker (DEFAULTS).

        NOTE : for in-VM generation, this will not be called and the column value will implicitly be a JDBC parameter ('?')

        Specified by:
        getDatabaseGeneratedReferencedColumnValue in interface ValueGeneration
        The column value to be used in the SQL.