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