Class IdGeneratingSQLInsertClause

java.lang.Object
com.querydsl.sql.dml.AbstractSQLClause<com.querydsl.sql.dml.SQLInsertClause>
com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
com.querydsl.sql.dml.SQLInsertClause
com.atlassian.jira.database.IdGeneratingSQLInsertClause
All Implemented Interfaces:
com.querydsl.core.dml.DMLClause<com.querydsl.sql.dml.SQLInsertClause>, com.querydsl.core.dml.InsertClause<com.querydsl.sql.dml.SQLInsertClause>, com.querydsl.core.dml.StoreClause<com.querydsl.sql.dml.SQLInsertClause>

public class IdGeneratingSQLInsertClause extends com.querydsl.sql.dml.SQLInsertClause
Extended SQLInsertClause supporting Generation of OfBiz sequence values.
Since:
v6.4.5
  • Constructor Details

    • IdGeneratingSQLInsertClause

      public IdGeneratingSQLInsertClause(Connection con, com.querydsl.sql.SQLTemplates dialect, JiraRelationalPathBase<?> entity, org.ofbiz.core.entity.DelegatorInterface delegatorInterface)
  • Method Details

    • withId

      public IdGeneratingSQLInsertClause withId()
      Add an automatically generated "ID" column value to the insert statement.

      This method uses the Ofbiz sequence generator to generate an Id for the relation being inserted.

      Users of this method should not manually add an "ID" using another call such as set(Path, Object) or populate(Object).

      Returns:
      clause for building the query.
    • executeWithId

      @Nonnull public Long executeWithId()
      Add an automatically generated "ID" column value to the insert statement and execute it.

      This method uses the Ofbiz sequence generator to generate an Id for the relation being inserted.

      Example Usage:

           final Long generatedId = dbConnectionManager.executeQuery(dbConnection -> dbConnection.
                   .insert(QProject.PROJECT)
                   .set(QProject.PROJECT.name, "some name")
                   .executeWithId();
           );
       

      Returns:
      the id that was populated into the query.
      Since:
      7.1
    • columns

      public IdGeneratingSQLInsertClause columns(com.querydsl.core.types.Path<?>... columns)
      Specified by:
      columns in interface com.querydsl.core.dml.InsertClause<com.querydsl.sql.dml.SQLInsertClause>
      Overrides:
      columns in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • select

      public IdGeneratingSQLInsertClause select(com.querydsl.core.types.SubQueryExpression<?> sq)
      Specified by:
      select in interface com.querydsl.core.dml.InsertClause<com.querydsl.sql.dml.SQLInsertClause>
      Overrides:
      select in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • set

      public <T> IdGeneratingSQLInsertClause set(@Nonnull com.querydsl.core.types.Path<T> path, @Nullable T value)
      Specified by:
      set in interface com.querydsl.core.dml.StoreClause<com.querydsl.sql.dml.SQLInsertClause>
      Overrides:
      set in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • set

      public <T> IdGeneratingSQLInsertClause set(com.querydsl.core.types.Path<T> path, com.querydsl.core.types.Expression<? extends T> expression)
      Specified by:
      set in interface com.querydsl.core.dml.StoreClause<com.querydsl.sql.dml.SQLInsertClause>
      Overrides:
      set in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • setNull

      public <T> IdGeneratingSQLInsertClause setNull(com.querydsl.core.types.Path<T> path)
      Specified by:
      setNull in interface com.querydsl.core.dml.StoreClause<com.querydsl.sql.dml.SQLInsertClause>
      Overrides:
      setNull in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • values

      public IdGeneratingSQLInsertClause values(Object... v)
      Specified by:
      values in interface com.querydsl.core.dml.InsertClause<com.querydsl.sql.dml.SQLInsertClause>
      Overrides:
      values in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • populate

      public IdGeneratingSQLInsertClause populate(Object bean)
      Overrides:
      populate in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • populate

      public <T> IdGeneratingSQLInsertClause populate(T obj, com.querydsl.sql.dml.Mapper<T> mapper)
      Overrides:
      populate in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • addFlag

      public IdGeneratingSQLInsertClause addFlag(com.querydsl.core.QueryFlag.Position position, com.querydsl.core.types.Expression<?> flag)
      Overrides:
      addFlag in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>
    • addFlag

      public IdGeneratingSQLInsertClause addFlag(com.querydsl.core.QueryFlag.Position position, String flag)
      Overrides:
      addFlag in class com.querydsl.sql.dml.AbstractSQLInsertClause<com.querydsl.sql.dml.SQLInsertClause>