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:
    RawSql
    • Method Detail

      • 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.

      • 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.

        Parameters:
        dbColumn - the DB column that we are mapping to a bean property
        propertyName - the bean property that we are mapping the DB column to.
      • 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.