Interface DialectOverride


  • @Incubating
    public interface DialectOverride
    Allows certain annotations to be overridden in a given SQL Dialect.

    For example, a Formula annotation may be customized for a given Dialect using the DialectOverride.Formula annotation.

     @Formula(value = "(rate * 100) || '%'")
     @DialectOverride.Formula(dialect = MySQLDialect.class,
                              override = @Formula("concat(rate * 100, '%')"))
     @DialectOverride.Formula(dialect = DB2Dialect.class,
                              override = @Formula("varchar_format(rate * 100) || '%'"))
     @DialectOverride.Formula(dialect = OracleDialect.class,
                              override = @Formula("to_char(rate * 100) || '%'"))
     @DialectOverride.Formula(dialect = SQLServerDialect.class,
                              override = @Formula("ltrim(str(rate * 100, 10, 2)) + '%'"))
     @DialectOverride.Formula(dialect = SybaseDialect.class,
                              override = @Formula("ltrim(str(rate * 100, 10, 2)) + '%'"))
     private String ratePercent;
     

    An annotation may even be customized for a specific range of versions of the dialect by specifying a DialectOverride.Version.

    • dialect specifies the SQL dialect to which the override applies,
    • sameOrAfter specifies that the override applies to all versions beginning with the given version, and
    • before specifies that the override applies to all versions earlier than the given version.

    Since:
    6.0