类 TimesTenDialect

  • 所有已实现的接口:
    ConversionContext

    public class TimesTenDialect
    extends Dialect
    A SQL dialect for TimesTen 5.1.

    Known limitations: joined-subclass support because of no CASE support in TimesTen No support for subqueries that includes aggregation - size() in HQL not supported - user queries that does subqueries with aggregation No CLOB/BLOB support No cascade delete support. No Calendar support No support for updating primary keys.

    作者:
    Sherry Listgarten and Max Andersen
    • 构造器详细资料

      • TimesTenDialect

        public TimesTenDialect()
        Constructs a TimesTenDialect
    • 方法详细资料

      • dropConstraints

        public boolean dropConstraints()
        从类复制的说明: Dialect
        Do we need to drop constraints before dropping tables in this dialect?
        覆盖:
        dropConstraints 在类中 Dialect
        返回:
        True if constraints must be dropped prior to dropping the table; false otherwise.
      • qualifyIndexName

        public boolean qualifyIndexName()
        从类复制的说明: Dialect
        Do we need to qualify index names with the schema name?
        覆盖:
        qualifyIndexName 在类中 Dialect
        返回:
        boolean
      • getAddColumnString

        public String getAddColumnString()
        从类复制的说明: Dialect
        The syntax used to add a column to a table (optional).
        覆盖:
        getAddColumnString 在类中 Dialect
        返回:
        The "add column" fragment.
      • supportsSequences

        public boolean supportsSequences()
        从类复制的说明: Dialect
        Does this dialect support sequences?
        覆盖:
        supportsSequences 在类中 Dialect
        返回:
        True if sequences supported; false otherwise.
      • getSelectSequenceNextValString

        public String getSelectSequenceNextValString​(String sequenceName)
        从类复制的说明: Dialect
        Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.

        This differs from Dialect.getSequenceNextValString(String) in that this should return an expression usable within another statement.

        覆盖:
        getSelectSequenceNextValString 在类中 Dialect
        参数:
        sequenceName - the name of the sequence
        返回:
        The "nextval" fragment.
      • getSequenceNextValString

        public String getSequenceNextValString​(String sequenceName)
        从类复制的说明: Dialect
        Generate the appropriate select statement to to retrieve the next value of a sequence.

        This should be a "stand alone" select statement.

        覆盖:
        getSequenceNextValString 在类中 Dialect
        参数:
        sequenceName - the name of the sequence
        返回:
        String The "nextval" select string.
      • getQuerySequencesString

        public String getQuerySequencesString()
        从类复制的说明: Dialect
        Get the select command used retrieve the names of all sequences.
        覆盖:
        getQuerySequencesString 在类中 Dialect
        返回:
        The select command; or null if sequences are not supported.
        另请参阅:
        SchemaUpdate
      • getCrossJoinSeparator

        public String getCrossJoinSeparator()
        从类复制的说明: Dialect
        Returns the separator to use for defining cross joins when translating HQL queries.

        Typically this will be either [ cross join ] or [, ]

        Note that the spaces are important!

        覆盖:
        getCrossJoinSeparator 在类中 Dialect
        返回:
        The cross join separator
      • getForUpdateString

        public String getForUpdateString()
        从类复制的说明: Dialect
        Get the string to append to SELECT statements to acquire locks for this dialect.
        覆盖:
        getForUpdateString 在类中 Dialect
        返回:
        The appropriate FOR UPDATE clause string.
      • supportsColumnCheck

        public boolean supportsColumnCheck()
        从类复制的说明: Dialect
        Does this dialect support column-level check constraints?
        覆盖:
        supportsColumnCheck 在类中 Dialect
        返回:
        True if column-level CHECK constraints are supported; false otherwise.
      • supportsTableCheck

        public boolean supportsTableCheck()
        从类复制的说明: Dialect
        Does this dialect support table-level check constraints?
        覆盖:
        supportsTableCheck 在类中 Dialect
        返回:
        True if table-level CHECK constraints are supported; false otherwise.
      • getLimitHandler

        public LimitHandler getLimitHandler()
        从类复制的说明: Dialect
        Returns the delegate managing LIMIT clause.
        覆盖:
        getLimitHandler 在类中 Dialect
        返回:
        LIMIT clause delegate.
      • supportsLimitOffset

        public boolean supportsLimitOffset()
        从类复制的说明: Dialect
        Does this dialect's LIMIT support (if any) additionally support specifying an offset?
        覆盖:
        supportsLimitOffset 在类中 Dialect
        返回:
        True if the dialect supports an offset within the limit support.
      • supportsVariableLimit

        public boolean supportsVariableLimit()
        从类复制的说明: Dialect
        Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?
        覆盖:
        supportsVariableLimit 在类中 Dialect
        返回:
        True if bind variables can be used; false otherwise.
      • supportsLimit

        public boolean supportsLimit()
        从类复制的说明: Dialect
        Does this dialect support some form of limiting query results via a SQL clause?
        覆盖:
        supportsLimit 在类中 Dialect
        返回:
        True if this dialect supports some form of LIMIT.
      • useMaxForLimit

        public boolean useMaxForLimit()
        从类复制的说明: Dialect
        Does the LIMIT clause take a "maximum" row number instead of a total number of returned rows?

        This is easiest understood via an example. Consider you have a table with 20 rows, but you only want to retrieve rows number 11 through 20. Generally, a limit with offset would say that the offset = 11 and the limit = 10 (we only want 10 rows at a time); this is specifying the total number of returned rows. Some dialects require that we instead specify offset = 11 and limit = 20, where 20 is the "last" row we want relative to offset (i.e. total number of rows = 20 - 11 = 9)

        So essentially, is limit relative from offset? Or is limit absolute?

        覆盖:
        useMaxForLimit 在类中 Dialect
        返回:
        True if limit is relative from offset; false otherwise.
      • getLimitString

        public String getLimitString​(String querySelect,
                                     int offset,
                                     int limit)
        从类复制的说明: Dialect
        Given a limit and an offset, apply the limit clause to the query.
        覆盖:
        getLimitString 在类中 Dialect
        参数:
        querySelect - The query to which to apply the limit.
        offset - The offset of the limit
        limit - The limit of the limit ;)
        返回:
        The modified query statement with the limit applied.
      • supportsCurrentTimestampSelection

        public boolean supportsCurrentTimestampSelection()
        从类复制的说明: Dialect
        Does this dialect support a way to retrieve the database's current timestamp value?
        覆盖:
        supportsCurrentTimestampSelection 在类中 Dialect
        返回:
        True if the current timestamp can be retrieved; false otherwise.
      • getCurrentTimestampSelectString

        public String getCurrentTimestampSelectString()
        从类复制的说明: Dialect
        Retrieve the command used to retrieve the current timestamp from the database.
        覆盖:
        getCurrentTimestampSelectString 在类中 Dialect
        返回:
        The command.
      • getLockingStrategy

        public LockingStrategy getLockingStrategy​(Lockable lockable,
                                                  LockMode lockMode)
        从类复制的说明: Dialect
        Get a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.
        覆盖:
        getLockingStrategy 在类中 Dialect
        参数:
        lockable - The persister for the entity to be locked.
        lockMode - The type of lock to be acquired.
        返回:
        The appropriate locking strategy.
      • supportsEmptyInList

        public boolean supportsEmptyInList()
        从类复制的说明: Dialect
        Does this dialect support empty IN lists?

        For example, is [where XYZ in ()] a supported construct?

        覆盖:
        supportsEmptyInList 在类中 Dialect
        返回:
        True if empty in lists are supported; false otherwise.