Interface DbmsFeatures

All Known Implementing Classes:
HsqlDbmsFeatures, MysqlDbmsFeatures, OracleDbmsFeatures, PostgresqlDbmsFeatures, SqlServerDbmsFeatures

public interface DbmsFeatures
Interface defining methods of getting some DBMS-specific values. It must be implemented for each supported DBMS type and version.
See Also:
  • Method Details

    • getJpaParameters

      Map<String,String> getJpaParameters()
      Returns:
      JPA implementation properties to set in persistence.xml
    • getTimeStampType

      String getTimeStampType()
      Returns:
      name of data type storing date and time
    • getUuidTypeClassName

      @Nullable String getUuidTypeClassName()
      Returns:
      name of class representing UUID in JDBC driver, or null if no special class required
    • getTransactionTimeoutStatement

      @Nullable String getTransactionTimeoutStatement()
      Returns:
      statement to issue for setting the current transaction timeout, or null if not required.

      The statement text should contain %d placeholder that will be replaced by timeout value in milliseconds.

    • getUniqueConstraintViolationPattern

      String getUniqueConstraintViolationPattern()
      Returns:
      regexp to extract a unique constraint name from an exception message
    • isNullsLastSorting

      boolean isNullsLastSorting()
      Returns:
      default sort order of null values
    • supportsLobSortingAndFiltering

      boolean supportsLobSortingAndFiltering()
      Returns:
      true if the DBMS supports equality check and sorting for LOB columns
    • useOrderByForPaging

      default boolean useOrderByForPaging()
      Returns:
      true if the DBMS supports paging only with order by
    • getMaxIdsBatchSize

      @Nullable default Integer getMaxIdsBatchSize()
      Returns:
      maximum number of values that can be used in the "IN" operator in a query. null is returned if there is no any limit
    • getTypeAndVersion

      String getTypeAndVersion()
      Provides information about jmix.data.dbmsType and jmix.data.dbmsVersion this bean designed for. Version can be empty.