类 JimmerProperties

java.lang.Object
org.babyfish.jimmer.spring.cfg.JimmerProperties

@ConstructorBinding @ConfigurationProperties("jimmer") public class JimmerProperties extends Object
  • 构造器详细资料

  • 方法详细资料

    • getLanguage

      @NotNull public String getLanguage()
    • getDialect

      @NotNull public org.babyfish.jimmer.sql.dialect.Dialect getDialect()
    • isShowSql

      public boolean isShowSql()
    • isPrettySql

      public boolean isPrettySql()
    • getDatabaseValidation

      @NotNull public JimmerProperties.DatabaseValidation getDatabaseValidation()
    • getTriggerType

      @NotNull public org.babyfish.jimmer.sql.event.TriggerType getTriggerType()
    • getDefaultEnumStrategy

      @NotNull public org.babyfish.jimmer.sql.EnumType.Strategy getDefaultEnumStrategy()
    • getDefaultBatchSize

      public int getDefaultBatchSize()
    • getDefaultListBatchSize

      public int getDefaultListBatchSize()
    • getOffsetOptimizingThreshold

      public int getOffsetOptimizingThreshold()
      For RDBMS, pagination is slow if `offset` is large, especially for MySQL. If `offset` >= $thisArgument
      
        select t.* from Table t ... limit ? offset ?
       
      will be automatically changed to
      
        select t.* from (
            select
                t.id as optimized_core_id_
            from Table t ... limit ? offset ?
        ) optimized_core_
        inner join Table as optimized_
            on optimized_.optimized_core_id_ = optimized_core_.optimized_core_id_
       
      返回:
      An integer which is greater than 0
    • isForeignKeyEnabledByDefault

      public boolean isForeignKeyEnabledByDefault()
      This configuration is only useful for JoinColumn of local associations (not remote associations across microservice boundaries) whose `foreignKeyType` is specified as `AUTO`.Its value indicates whether the foreign key is real, that is, whether there is a foreign key constraint in the database.

      In general, you should ignore this configuration (defaults to true) or set it to true.

      In some cases, you need to set it to false, such as
      • Using database/table sharding technology, such as sharding-jdbc
      • Using database that does not support foreign key, such as TiDB
    • getExecutorContextPrefixes

      @Nullable public Collection<String> getExecutorContextPrefixes()
      If this option is configured, when jimmer calls back `org.babyfish.jimmer.sql.runtime.Executor.execute` before executing SQL, it will check the stack trace information of the current thread. However, these stack traces have too much information, including infrastructure call frames represented by jdk, jdbc driver, jimmer, and spring, and the business-related information you care about will be submerged in the ocean of information. Through this configuration, you can specify multiple package or class prefixes, and jimmer will judge whether there are some call frames in the stack trace whose class names start with some of these prefixes. If the judgment is true, jimmer believes that the current callback is related to your business, and the `ctx` parameter of `org.babyfish.jimmer.sql.runtime.Executor.execute` will be passed as non-null. If the SQL logging configuration is enabled at the same time, when a SQL statement is caused by the business you care about, the business call frame will be printed together with the SQL log.
    • getMicroServiceName

      @NotNull public String getMicroServiceName()
    • getErrorWrapper

      @NotNull public JimmerProperties.ErrorWrapper getErrorWrapper()
    • getClient

      @NotNull public JimmerProperties.Client getClient()
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object