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