Class StandardSqlAstTranslatorFactory
java.lang.Object
org.hibernate.dialect.sql.ast.spi.StandardSqlAstTranslatorFactory
- All Implemented Interfaces:
SqlAstTranslatorFactory
@SPI({USE,IMPLEMENT})
public class StandardSqlAstTranslatorFactory
extends Object
implements SqlAstTranslatorFactory
Standard SqlAstTranslatorFactory and supported base for custom factories.
The public entry point preserves request validation and lifecycle. Subclasses
customize only createTranslator(SqlAstTranslationRequest) and should return a fresh, single-use
translator for every invocation.
- Since:
- 8.0
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a reusable, stateless translator factory. -
Method Summary
Modifier and TypeMethodDescriptionfinal <S extends Statement, O extends JdbcOperation>
SqlAstTranslator<O> buildTranslator(SqlAstTranslationRequest<S, O> request) Build a single-use translator for the given typed request.protected <S extends Statement, O extends JdbcOperation>
SqlAstTranslator<O> createTranslator(SqlAstTranslationRequest<S, O> request) Create the translator for a validated typed request.
-
Constructor Details
-
StandardSqlAstTranslatorFactory
-
-
Method Details
-
buildTranslator
public final <S extends Statement, O extends JdbcOperation> SqlAstTranslator<O> buildTranslator(SqlAstTranslationRequest<S, O> request) Description copied from interface:SqlAstTranslatorFactoryBuild a single-use translator for the given typed request.- Specified by:
buildTranslatorin interfaceSqlAstTranslatorFactory- Parameters:
request- complete translation input; nevernull- Returns:
- a non-null translator compatible with the request's result type
-
createTranslator
@SPI({IMPLEMENT,SUPPLY}) protected <S extends Statement, O extends JdbcOperation> SqlAstTranslator<O> createTranslator(SqlAstTranslationRequest<S, O> request) Create the translator for a validated typed request.
Subclasses should normally construct an
AbstractSqlAstTranslatorbased implementation. They must not cache or reuse the returned translator.- Returns:
- a fresh translator compatible with the request's result type
-