Interface SQLCommonQueryFactory<Q extends SQLCommonQuery<?>,D extends SQLDeleteClause,U extends SQLUpdateClause,I extends SQLInsertClause,M extends SQLMergeClause>

Type Parameters:
Q - query type
D - delete clause type
U - update clause type
I - insert clause type
M - merge clause type
All Superinterfaces:
QueryFactory<Q>
All Known Implementing Classes:
AbstractSQLQueryFactory, MySQLQueryFactory, OracleQueryFactory, PostgreSQLQueryFactory, SQLQueryFactory, SQLServerQueryFactory, TeradataQueryFactory

public interface SQLCommonQueryFactory<Q extends SQLCommonQuery<?>,D extends SQLDeleteClause,U extends SQLUpdateClause,I extends SQLInsertClause,M extends SQLMergeClause> extends QueryFactory<Q>
Factory interface for query and clause creation.

The default implementation is SQLQueryFactory and should be used for general query creation. Type specific variants are available if database specific queries need to be created.

Author:
tiwe
  • Method Details

    • delete

      D delete(RelationalPath<?> path)
      Create a new DELETE clause
      Parameters:
      path - table to delete from
      Returns:
      delete clause
    • from

      Q from(Expression<?> from)
      Create a new SELECT query
      Parameters:
      from - query source
      Returns:
      query
    • from

      Q from(Expression<?>... from)
      Create a new SELECT query
      Parameters:
      from - query sources
      Returns:
      query
    • from

      Q from(SubQueryExpression<?> subQuery, Path<?> alias)
      Create a new SELECT query
      Parameters:
      subQuery - query source
      alias - alias
      Returns:
      query
    • insert

      I insert(RelationalPath<?> path)
      Create a new INSERT INTO clause
      Parameters:
      path - table to insert to
      Returns:
      insert clause
    • merge

      M merge(RelationalPath<?> path)
      Create a new MERGE clause
      Parameters:
      path - table to merge into
      Returns:
      merge clause
    • update

      U update(RelationalPath<?> path)
      Create a new UPDATE clause
      Parameters:
      path - table to update
      Returns:
      update clause
    • query

      Q query()
      Specified by:
      query in interface QueryFactory<Q extends SQLCommonQuery<?>>