Module io.ebean.api
Package io.ebean

Interface RawSqlBuilder

public interface RawSqlBuilder
Builds RawSql instances from a SQL string and column mappings.

Note that RawSql can also be defined in ebean-orm.xml files and be used as a named query.

See Also:
  • Method Details

    • resultSet

      static RawSql resultSet(ResultSet resultSet, String... propertyNames)
      Create and return a RawSql object based on the resultSet and list of properties the columns in the resultSet map to.

      The properties listed in the propertyNames must be in the same order as the columns in the resultSet.

    • sqlRow

      static SqlRow sqlRow(ResultSet resultSet, String dbTrueValue, boolean binaryOptimizedUUID) throws SQLException
      Create and return a SqlRow based on the resultSet with dbTrueValue and binaryOptimizedUUID options.
    • unparsed

      static RawSqlBuilder unparsed(String sql)
      Return an unparsed RawSqlBuilder. Unlike a parsed one this query can not be modified - so no additional WHERE or HAVING expressions can be added to this query.
    • parse

      static RawSqlBuilder parse(String sql)
      Return a RawSqlBuilder parsing the sql.

      The sql statement will be parsed so that Ebean can determine where it can insert additional WHERE or HAVING expressions.

      Additionally the selected columns are parsed to determine the column ordering. This also means additional checks can be made with the column mapping - specifically we can check that all columns are mapped and that correct column names are entered into the mapping.

    • columnMapping

      RawSqlBuilder columnMapping(String dbColumn, String propertyName)
      Set the mapping of a DB Column to a bean property.

      For Unparsed SQL the columnMapping MUST be defined in the same order that the columns appear in the SQL statement.

      dbColumn - the DB column that we are mapping to a bean property
      propertyName - the bean property that we are mapping the DB column to.
    • columnMappingIgnore

      RawSqlBuilder columnMappingIgnore(String dbColumn)
      Ignore this DB column. It is not mapped to any bean property.
    • tableAliasMapping

      RawSqlBuilder tableAliasMapping(String tableAlias, String path)
      Modify any column mappings with the given table alias to have the path prefix.

      For example modify all mappings with table alias "c" to have the path prefix "customer".

      For the "Root type" you don't need to specify a tableAliasMapping.

    • create

      RawSql create()
      Create the immutable RawSql object. Do this after all the column mapping has been defined.