Class SQLQuery<T>

java.lang.Object
com.j_spaces.core.client.SQLQuery<T>
All Implemented Interfaces:
ISpaceQuery<T>, Serializable

public class SQLQuery<T> extends Object implements ISpaceQuery<T>, Serializable
The SQLQuery class is used to query the space using the SQL syntax. The query statement should only include the WHERE clause.

Date and Time Formats
The following Date/TimeStamp Format is supported: 'yyyy-mm-dd hh:mm:ss' - i.e. '2004-12-20 20:40:10'
The following Time Format is supported: 'hh:mm:ss' - i.e. '20:40:10'
See Also:
  • Constructor Details

    • SQLQuery

      public SQLQuery()
      Empty constructor.
    • SQLQuery

      public SQLQuery(String typeName, String sqlExpression)
      Creates a SQLQuery using the specified type and expression.
      Parameters:
      typeName - Entry type to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
    • SQLQuery

      public SQLQuery(String typeName, String sqlExpression, QueryResultType queryResultType)
      Creates a SQLQuery using the specified type, expression and result type.
      Parameters:
      typeName - Entry type to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
      queryResultType - Type of result.
      Since:
      8.0
    • SQLQuery

      public SQLQuery(String typeName, String sqlExpression, Object... parameters)
      Creates a SQLQuery using the specified type, expression and parameters.
      Parameters:
      typeName - Entry type to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
      parameters - Parameters for the sql query.
    • SQLQuery

      public SQLQuery(String typeName, String sqlExpression, QueryResultType queryResultType, Object... parameters)
      Creates a SQLQuery using the specified type, expression, result type and parameters.
      Parameters:
      typeName - Entry type to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
      queryResultType - Type of result.
      parameters - Parameters for the sql query.
      Since:
      8.0
    • SQLQuery

      public SQLQuery(Class<T> type, String sqlExpression)
      Creates a SQLQuery using the specified type and expression.
      Parameters:
      type - Entry class to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
    • SQLQuery

      public SQLQuery(Class<T> type, String sqlExpression, QueryResultType queryResultType)
      Creates a SQLQuery using the specified type, expression and result type.
      Parameters:
      type - Entry type to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
      queryResultType - Type of result.
      Since:
      8.0
    • SQLQuery

      public SQLQuery(Class<T> type, String sqlExpression, Object... parameters)
      Creates a SQLQuery using the specified type, expression and parameters.
      Parameters:
      type - Entry type to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
      parameters - Parameters for the sql query.
    • SQLQuery

      public SQLQuery(Class<T> type, String sqlExpression, QueryResultType queryResultType, Object... parameters)
      Creates a SQLQuery using the specified type, expression, result type and parameters.
      Parameters:
      type - Entry type to be queried.
      sqlExpression - The SQL Query expression (contents of the WHERE part).
      queryResultType - Type of result.
      parameters - Parameters for the sql query.
      Since:
      8.0
    • SQLQuery

      @Deprecated public SQLQuery(T object, String sqlQuery)
      This constructor has been depracated and should not be used.
  • Method Details

    • withExplainPlan

      public SQLQuery<T> withExplainPlan()
    • getExplainPlan

      public ExplainPlan getExplainPlan()
    • withExplainPlanV3

      public SQLQuery<T> withExplainPlanV3(String tableName, String name, String[] projectedColumns, boolean distinct)
    • getObject

      @Deprecated public T getObject()
      Deprecated.
      Use SQLQuery with parameters instead of a template.
      This method has been depracated and should not be used.
    • getTypeName

      public String getTypeName()
      Returns the name of the type which will be queried.
      Returns:
      the type name
    • isNullExpression

      public boolean isNullExpression()
      This method should be used for check expression string.
      Returns:
      true if expression is null or empty
    • getQuery

      public String getQuery()
      Returns the 'WHERE' part of this SQL Query.
      Returns:
      'WHERE' part expression.
    • getFromQuery

      public String getFromQuery()
      Returns a string representation of this SQLQuery, in the form of:

      FROM table name WHERE query expression

      Returns:
      the string representation of the query
    • getSelectAllQuery

      public String getSelectAllQuery()
      Returns a string representation of this SQLQuery, in the form of:

      SELECT * FROM table name WHERE query expression

      Returns:
      a string representation of the object.
    • getSelectCountQuery

      public String getSelectCountQuery()
      Returns a string representation of this SQLQuery, in the form of:

      SELECT count(*) FROM table name WHERE query expression

      Returns:
      a string representation of the object.
    • toString

      public String toString()
      Returns a string representation of this SQLQuery, in the form of:

      SELECT * FROM table name WHERE query expression

      Overrides:
      toString in class Object
      Returns:
      a string representation of the object.
    • isStoredProcedure

      public boolean isStoredProcedure()
      Returns true if this query is a stored procedure
      Returns:
      true if represents a stored procedure
    • hasWhereClause

      public boolean hasWhereClause()
      Returns true if the query has a where clause. Used in partial SQLQuery
      Returns:
      true has a "where" part
    • getParameters

      public Object[] getParameters()
      Returns:
      the parameters
    • hasParameters

      public boolean hasParameters()
      Returns:
      true if the SQLQuery has parameters
    • setParameters

      public void setParameters(Object... parameters)
      Parameters:
      parameters - the parameters to set
    • setParameter

      public SQLQuery<T> setParameter(int index, Object value)
      Set the query parameter value.
      Parameters:
      index - parameter index - start with 1
      value - parameter value
    • getQueryResultType

      public QueryResultType getQueryResultType()
      Returns the result type of this query.
    • setRouting

      public void setRouting(Object routing)
      Sets the routing value of this query.
      Parameters:
      routing - The routing value
    • getRouting

      public Object getRouting()
      Gets the routing value of this query.
      Returns:
      The routing value of the query
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Indicates whether some SQLQuery is "equal to" this one.
      Overrides:
      equals in class Object
      Returns:
      true if the input object object is not null, of type SQLQuery and this query's SQL expression, class (class name) and parameters are equal to the input SQLQuery.
    • setProjections

      public SQLQuery<T> setProjections(String... properties)
      Sets projection properties which specifies that a result for an operation using this query should contain data for the specified projection properties. Other properties which were not specifies as a projection will not contain data. By default, if no projection was added, all the properties are returned with full data.
    • getProjections

      public String[] getProjections()
      Returns the projections set on this query, null means no projection is used and all the properties should be returned.
    • isResultAsPacket

      public boolean isResultAsPacket()
    • setResultAsPacket

      public void setResultAsPacket(boolean resultAsPacket)