类 AbstractJSqlClientDelegate

java.lang.Object
org.babyfish.jimmer.sql.di.AbstractJSqlClientDelegate
所有已实现的接口:
SubQueryProvider, JSqlClient, org.babyfish.jimmer.sql.meta.SqlContext, JSqlClientImplementor
直接已知子类:
JLazyInitializationSqlClient

public abstract class AbstractJSqlClientDelegate extends Object implements JSqlClientImplementor
  • 构造器详细资料

    • AbstractJSqlClientDelegate

      public AbstractJSqlClientDelegate()
  • 方法详细资料

    • sqlClient

      protected abstract JSqlClientImplementor sqlClient()
    • unwrap

      public <T extends org.babyfish.jimmer.sql.meta.SqlContext> T unwrap()
      指定者:
      unwrap 在接口中 org.babyfish.jimmer.sql.meta.SqlContext
    • getUserIdGenerator

      public org.babyfish.jimmer.sql.meta.UserIdGenerator<?> getUserIdGenerator(String ref) throws Exception
      指定者:
      getUserIdGenerator 在接口中 org.babyfish.jimmer.sql.meta.SqlContext
      抛出:
      Exception
    • getUserIdGenerator

      public org.babyfish.jimmer.sql.meta.UserIdGenerator<?> getUserIdGenerator(Class<?> userIdGeneratorType) throws Exception
      指定者:
      getUserIdGenerator 在接口中 org.babyfish.jimmer.sql.meta.SqlContext
      抛出:
      Exception
    • getLogicalDeletedValueGenerator

      public org.babyfish.jimmer.sql.meta.LogicalDeletedValueGenerator<?> getLogicalDeletedValueGenerator(String ref) throws Exception
      指定者:
      getLogicalDeletedValueGenerator 在接口中 org.babyfish.jimmer.sql.meta.SqlContext
      抛出:
      Exception
    • getLogicalDeletedValueGenerator

      public org.babyfish.jimmer.sql.meta.LogicalDeletedValueGenerator<?> getLogicalDeletedValueGenerator(Class<?> logicalDeletedValueGeneratorType) throws Exception
      指定者:
      getLogicalDeletedValueGenerator 在接口中 org.babyfish.jimmer.sql.meta.SqlContext
      抛出:
      Exception
    • createQuery

      public <T extends TableProxy<?>> MutableRootQuery<T> createQuery(T table)
      指定者:
      createQuery 在接口中 JSqlClient
    • createUpdate

      public MutableUpdate createUpdate(TableProxy<?> table)
      指定者:
      createUpdate 在接口中 JSqlClient
    • createDelete

      public MutableDelete createDelete(TableProxy<?> table)
      指定者:
      createDelete 在接口中 JSqlClient
    • createAssociationQuery

      public <SE, ST extends Table<SE>, TE, TT extends Table<TE>> MutableRootQuery<AssociationTable<SE,ST,TE,TT>> createAssociationQuery(AssociationTable<SE,ST,TE,TT> table)
      指定者:
      createAssociationQuery 在接口中 JSqlClient
    • getEntities

      public Entities getEntities()
      指定者:
      getEntities 在接口中 JSqlClient
    • getTriggers

      public Triggers getTriggers()
      从接口复制的说明: JSqlClient
      This method is equivalent to `getTriggers(false)`
      指定者:
      getTriggers 在接口中 JSqlClient
      返回:
    • getTriggers

      public Triggers getTriggers(boolean transaction)
      从接口复制的说明: JSqlClient
      • If trigger type is 'BINLOG_ONLY'
        • If `transaction` is true, throws exception
        • If `transaction` is false, return binlog trigger
      • If trigger type is 'TRANSACTION_ONLY', returns transaction trigger no matter what the `transaction` is
      • If trigger type is 'BOTH'
        • If `transaction` is true, return transaction trigger
        • If `transaction` is false, return binlog trigger
        Note that the objects returned by different parameters are independent of each other.
      指定者:
      getTriggers 在接口中 JSqlClient
      参数:
      transaction -
      返回:
      Trigger
    • getAssociations

      public Associations getAssociations(org.babyfish.jimmer.meta.TypedProp.Association<?,?> prop)
      指定者:
      getAssociations 在接口中 JSqlClient
    • getAssociations

      public Associations getAssociations(org.babyfish.jimmer.meta.ImmutableProp immutableProp)
      指定者:
      getAssociations 在接口中 JSqlClient
    • getAssociations

      public Associations getAssociations(AssociationType associationType)
      指定者:
      getAssociations 在接口中 JSqlClient
    • getCaches

      public Caches getCaches()
      指定者:
      getCaches 在接口中 JSqlClient
    • getFilters

      public Filters getFilters()
      指定者:
      getFilters 在接口中 JSqlClient
    • getBinLog

      public BinLog getBinLog()
      指定者:
      getBinLog 在接口中 JSqlClient
    • findById

      @Nullable public <T> T findById(Class<T> type, Object id)
      指定者:
      findById 在接口中 JSqlClient
      类型参数:
      T - Entity type or output DTO type
    • findById

      @Nullable public <E> E findById(Fetcher<E> fetcher, Object id)
      指定者:
      findById 在接口中 JSqlClient
    • findByIds

      @NotNull public <T> @NotNull List<T> findByIds(Class<T> type, Iterable<?> ids)
      指定者:
      findByIds 在接口中 JSqlClient
      类型参数:
      T - Entity type or output DTO type
    • findByIds

      @NotNull public <E> @NotNull List<E> findByIds(Fetcher<E> fetcher, Iterable<?> ids)
      指定者:
      findByIds 在接口中 JSqlClient
    • findMapByIds

      @NotNull public <K, V> @NotNull Map<K,V> findMapByIds(Class<V> type, Iterable<K> ids)
      指定者:
      findMapByIds 在接口中 JSqlClient
      类型参数:
      V - Entity type or output DTO type
    • findMapByIds

      @NotNull public <K, V> @NotNull Map<K,V> findMapByIds(Fetcher<V> fetcher, Iterable<K> ids)
      指定者:
      findMapByIds 在接口中 JSqlClient
    • save

      public <E> SimpleSaveResult<E> save(E entity, SaveMode mode, @NotNull @NotNull AssociatedSaveMode associatedMode)
      从接口复制的说明: JSqlClient
      Save an entity object
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      entity - The saved entity object.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      mode - The save mode of aggregate-root
      associatedMode - The save mode of associated-objects
      返回:
      The saved result for single object
    • save

      public <E> SimpleSaveResult<E> save(E entity, AssociatedSaveMode associatedMode)
      从接口复制的说明: JSqlClient
      Save an entity object
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      entity - The saved entity object.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      associatedMode - The save mode of associated-objects

      The save mode of aggregate-root is SaveMode.UPSERT

      返回:
      The saved result for single object
    • save

      public <E> SimpleSaveResult<E> save(E entity, SaveMode mode)
      从接口复制的说明: JSqlClient
      Save an entity object
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      entity - The saved entity object.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      mode - The save mode of aggregate-root

      The associated save mode of associated objects is AssociatedSaveMode.REPLACE

      返回:
      The saved result for single object
    • save

      public <E> SimpleSaveResult<E> save(E entity)
      从接口复制的说明: JSqlClient
      Save an entity object
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      entity - The saved entity object.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.UPSERT

      The associated save mode of associated objects is AssociatedSaveMode.REPLACE

      返回:
      The saved result for single object
    • insert

      public <E> SimpleSaveResult<E> insert(@NotNull E entity)
      从接口复制的说明: JSqlClient
      Insert an entity object
      指定者:
      insert 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The inserted entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • insert

      public <E> SimpleSaveResult<E> insert(@NotNull E entity, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Insert an entity object
      指定者:
      insert 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The inserted entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.INSERT_ONLY

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • insertIfAbsent

      public <E> SimpleSaveResult<E> insertIfAbsent(@NotNull E entity)
      从接口复制的说明: JSqlClient
      Insert an entity object if necessary, if the entity object exists in database, ignore it.
      • If the value of id property decorated by Id is specified, use id value to check whether the entity object exists in database
      • otherwise, if the values of key properties decorated by Key is specified use key values to check whether the entity object exists in database
      • If neither value of id property nor values of key properties is specified, exception will be raised.
      指定者:
      insertIfAbsent 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The inserted entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • insertIfAbsent

      public <E> SimpleSaveResult<E> insertIfAbsent(@NotNull E entity, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Insert an entity object if necessary, if the entity object exists in database, ignore it.
      • If the value of id property decorated by Id is specified, use id value to check whether the entity object exists in database
      • otherwise, if the values of key properties decorated by Key is specified use key values to check whether the entity object exists in database
      • If neither value of id property nor values of key properties is specified, exception will be raised.
      指定者:
      insertIfAbsent 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The inserted entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.INSERT_IF_ABSENT

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • update

      public <E> SimpleSaveResult<E> update(@NotNull E entity)
      从接口复制的说明: JSqlClient
      Update an entity object
      指定者:
      update 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The updated entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • update

      public <E> SimpleSaveResult<E> update(@NotNull E entity, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Update an entity object
      指定者:
      update 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The updated entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.UPDATE_ONLY

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • merge

      public <E> SimpleSaveResult<E> merge(@NotNull E entity)
      从接口复制的说明: JSqlClient
      Merge an entity object
      指定者:
      merge 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The merged entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • merge

      public <E> SimpleSaveResult<E> merge(@NotNull E entity, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Merge an entity object
      指定者:
      merge 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      entity - The merged entity object

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.UPSERT

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • save

      public <E> SimpleSaveResult<E> save(@NotNull @NotNull org.babyfish.jimmer.Input<E> input)
      从接口复制的说明: JSqlClient
      Save an input DTO
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      input - The saved input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.UPSERT

      The associated save mode of associated objects is AssociatedSaveMode.REPLACE

      返回:
      The saved result for single object
    • save

      public <E> SimpleSaveResult<E> save(@NotNull @NotNull org.babyfish.jimmer.Input<E> input, @NotNull @NotNull SaveMode mode)
      从接口复制的说明: JSqlClient
      Save an input DTO
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      input - The saved input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      mode - The save mode of aggregate-root

      The associated save mode of associated objects is AssociatedSaveMode.REPLACE

      返回:
      The saved result for single object
    • save

      public <E> SimpleSaveResult<E> save(@NotNull @NotNull org.babyfish.jimmer.Input<E> input, @NotNull @NotNull AssociatedSaveMode associatedMode)
      从接口复制的说明: JSqlClient
      Save an input DTO
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      input - The saved input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      associatedMode - The save mode of associated-objects

      The save mode of aggregate-root is SaveMode.UPSERT

      返回:
      The saved result for single object
    • save

      public <E> SimpleSaveResult<E> save(@NotNull @NotNull org.babyfish.jimmer.Input<E> input, @NotNull @NotNull SaveMode mode, @NotNull @NotNull AssociatedSaveMode associatedMode)
      从接口复制的说明: JSqlClient
      Save an input DTO
      指定者:
      save 在接口中 JSqlClient
      类型参数:
      E - The type of saved entity
      参数:
      input - The saved input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      mode - The save mode of aggregate-root
      associatedMode - The save mode of associated-objects
      返回:
      The saved result for single object
    • insert

      public <E> SimpleSaveResult<E> insert(@NotNull @NotNull org.babyfish.jimmer.Input<E> input)
      从接口复制的说明: JSqlClient
      Insert an input DTO
      指定者:
      insert 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The inserted input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • insert

      public <E> SimpleSaveResult<E> insert(@NotNull @NotNull org.babyfish.jimmer.Input<E> input, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Insert an input DTO
      指定者:
      insert 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The inserted input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.INSERT_ONLY

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • insertIfAbsent

      public <E> SimpleSaveResult<E> insertIfAbsent(@NotNull @NotNull org.babyfish.jimmer.Input<E> input)
      从接口复制的说明: JSqlClient
      Insert an input DTO if necessary, that means to convert the input DTO to entity object and save it. If the entity object exists in database, ignore it.
      • If the value of id property decorated by Id is specified, use id value to check whether the entity object exists in database
      • otherwise, if the values of key properties decorated by Key is specified use key values to check whether the entity object exists in database
      • If neither value of id property nor values of key properties is specified, exception will be raised.
      指定者:
      insertIfAbsent 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The inserted input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • insertIfAbsent

      public <E> SimpleSaveResult<E> insertIfAbsent(@NotNull @NotNull org.babyfish.jimmer.Input<E> input, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Insert an input DTO if necessary, that means to convert the input DTO to entity object and save it. If the entity object exists in database, ignore it.
      • If the value of id property decorated by Id is specified, use id value to check whether the entity object exists in database
      • otherwise, if the values of key properties decorated by Key is specified use key values to check whether the entity object exists in database
      • If neither value of id property nor values of key properties is specified, exception will be raised.
      指定者:
      insertIfAbsent 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The inserted input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.INSERT_IF_ABSENT

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • update

      public <E> SimpleSaveResult<E> update(@NotNull @NotNull org.babyfish.jimmer.Input<E> input)
      从接口复制的说明: JSqlClient
      Update an input DTO
      指定者:
      update 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The updated input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • update

      public <E> SimpleSaveResult<E> update(@NotNull @NotNull org.babyfish.jimmer.Input<E> input, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Update an input DTO
      指定者:
      update 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The updated input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.UPDATE_ONLY

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • merge

      public <E> SimpleSaveResult<E> merge(@NotNull @NotNull org.babyfish.jimmer.Input<E> input)
      从接口复制的说明: JSqlClient
      Merge an input DTO
      指定者:
      merge 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The merged input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      返回:
      The save result for single object
    • merge

      public <E> SimpleSaveResult<E> merge(@NotNull @NotNull org.babyfish.jimmer.Input<E> input, @NotNull @NotNull AssociatedSaveMode associatedSaveMode)
      从接口复制的说明: JSqlClient
      Merge an input DTO
      指定者:
      merge 在接口中 JSqlClient
      类型参数:
      E - The type of inserted entity
      参数:
      input - The merged input DTO

      In terms of internal mechanisms, any type of Input DTO is automatically converted into an entity object of the same type.

      Note: The jimmer entity is not POJO, it can easily express data structures of arbitrary shape, you can use it to save data structures of arbitrary shape.

      Unlike most JVM ORMs, Jimmer does not sepcified the shape of the saved data structure by using configuration such as `insertable`, `updatable` or `cascade`; instead, it uses the dynamic nature of entity object itself to describe the shape of saved data structure, without prior design

      Unspecified properties will be ignored, only the specified properties (whether null or not) will be saved. In addition to objects with only id property, any associated objects will result in deeper recursive saves.

      The save mode of aggregate-root is SaveMode.UPSERT

      associatedSaveMode - The associated save mode of associated objects.
      返回:
      The save result for single object
    • deleteById

      public DeleteResult deleteById(@NotNull @NotNull Class<?> type, @NotNull @NotNull Object id, @NotNull @NotNull DeleteMode mode)
      指定者:
      deleteById 在接口中 JSqlClient
    • deleteById

      public DeleteResult deleteById(Class<?> type, Object id)
      指定者:
      deleteById 在接口中 JSqlClient
    • deleteByIds

      public DeleteResult deleteByIds(Class<?> type, Iterable<?> ids, DeleteMode mode)
      指定者:
      deleteByIds 在接口中 JSqlClient
    • deleteByIds

      public DeleteResult deleteByIds(Class<?> type, Iterable<?> ids)
      指定者:
      deleteByIds 在接口中 JSqlClient
    • createSubQuery

      public MutableSubQuery createSubQuery(TableProxy<?> table)
      指定者:
      createSubQuery 在接口中 SubQueryProvider
    • createAssociationSubQuery

      public <SE, ST extends TableEx<SE>, TE, TT extends TableEx<TE>> MutableSubQuery createAssociationSubQuery(AssociationTable<SE,ST,TE,TT> table)
      指定者:
      createAssociationSubQuery 在接口中 SubQueryProvider
    • getConnectionManager

      public ConnectionManager getConnectionManager()
      指定者:
      getConnectionManager 在接口中 JSqlClientImplementor
    • getSlaveConnectionManager

      public ConnectionManager getSlaveConnectionManager(boolean forUpdate)
      指定者:
      getSlaveConnectionManager 在接口中 JSqlClientImplementor
    • getDialect

      public Dialect getDialect()
      指定者:
      getDialect 在接口中 JSqlClientImplementor
    • getExecutor

      public Executor getExecutor()
      指定者:
      getExecutor 在接口中 JSqlClientImplementor
    • getEntityManager

      public EntityManager getEntityManager()
      指定者:
      getEntityManager 在接口中 JSqlClientImplementor
    • getMetadataStrategy

      public org.babyfish.jimmer.sql.meta.MetadataStrategy getMetadataStrategy()
      指定者:
      getMetadataStrategy 在接口中 JSqlClientImplementor
      指定者:
      getMetadataStrategy 在接口中 org.babyfish.jimmer.sql.meta.SqlContext
    • getExecutorContextPrefixes

      public List<String> getExecutorContextPrefixes()
      指定者:
      getExecutorContextPrefixes 在接口中 JSqlClientImplementor
    • getSqlFormatter

      public SqlFormatter getSqlFormatter()
      指定者:
      getSqlFormatter 在接口中 JSqlClientImplementor
    • getCacheOperator

      public CacheOperator getCacheOperator()
      指定者:
      getCacheOperator 在接口中 JSqlClientImplementor
    • getTriggerType

      public TriggerType getTriggerType()
      指定者:
      getTriggerType 在接口中 JSqlClientImplementor
    • getScalarProvider

      public <T, S> ScalarProvider<T,S> getScalarProvider(Class<T> scalarType)
      指定者:
      getScalarProvider 在接口中 JSqlClientImplementor
    • getScalarProvider

      public <T, S> ScalarProvider<T,S> getScalarProvider(org.babyfish.jimmer.meta.TypedProp<T,?> prop)
      指定者:
      getScalarProvider 在接口中 JSqlClientImplementor
    • getScalarProvider

      public <T, S> ScalarProvider<T,S> getScalarProvider(org.babyfish.jimmer.meta.ImmutableProp prop)
      指定者:
      getScalarProvider 在接口中 JSqlClientImplementor
    • getZoneId

      public ZoneId getZoneId()
      指定者:
      getZoneId 在接口中 JSqlClientImplementor
    • getIdGenerator

      public org.babyfish.jimmer.sql.meta.IdGenerator getIdGenerator(Class<?> entityType)
      指定者:
      getIdGenerator 在接口中 JSqlClientImplementor
    • getDefaultBatchSize

      public int getDefaultBatchSize()
      指定者:
      getDefaultBatchSize 在接口中 JSqlClientImplementor
    • getDefaultListBatchSize

      public int getDefaultListBatchSize()
      指定者:
      getDefaultListBatchSize 在接口中 JSqlClientImplementor
    • isInListPaddingEnabled

      public boolean isInListPaddingEnabled()
      指定者:
      isInListPaddingEnabled 在接口中 JSqlClientImplementor
    • isExpandedInListPaddingEnabled

      public boolean isExpandedInListPaddingEnabled()
      指定者:
      isExpandedInListPaddingEnabled 在接口中 JSqlClientImplementor
    • getOffsetOptimizingThreshold

      public int getOffsetOptimizingThreshold()
      指定者:
      getOffsetOptimizingThreshold 在接口中 JSqlClientImplementor
    • getDefaultLockMode

      public LockMode getDefaultLockMode()
      指定者:
      getDefaultLockMode 在接口中 JSqlClientImplementor
    • getMaxCommandJoinCount

      public int getMaxCommandJoinCount()
      指定者:
      getMaxCommandJoinCount 在接口中 JSqlClientImplementor
    • isTargetTransferable

      public boolean isTargetTransferable()
      指定者:
      isTargetTransferable 在接口中 JSqlClientImplementor
    • getExceptionTranslator

      @Nullable public @Nullable ExceptionTranslator<Exception> getExceptionTranslator()
      指定者:
      getExceptionTranslator 在接口中 JSqlClientImplementor
    • getResolver

      public TransientResolver<?,?> getResolver(org.babyfish.jimmer.meta.ImmutableProp prop)
      指定者:
      getResolver 在接口中 JSqlClientImplementor
    • getUserIdGeneratorProvider

      public StrategyProvider<org.babyfish.jimmer.sql.meta.UserIdGenerator<?>> getUserIdGeneratorProvider()
      指定者:
      getUserIdGeneratorProvider 在接口中 JSqlClientImplementor
    • getTransientResolverProvider

      public StrategyProvider<TransientResolver<?,?>> getTransientResolverProvider()
      指定者:
      getTransientResolverProvider 在接口中 JSqlClientImplementor
    • isDefaultDissociationActionCheckable

      public boolean isDefaultDissociationActionCheckable()
      指定者:
      isDefaultDissociationActionCheckable 在接口中 JSqlClientImplementor
    • getIdOnlyTargetCheckingLevel

      public IdOnlyTargetCheckingLevel getIdOnlyTargetCheckingLevel()
      指定者:
      getIdOnlyTargetCheckingLevel 在接口中 JSqlClientImplementor
    • getDraftPreProcessor

      public org.babyfish.jimmer.sql.DraftPreProcessor<?> getDraftPreProcessor(org.babyfish.jimmer.meta.ImmutableType type)
      指定者:
      getDraftPreProcessor 在接口中 JSqlClientImplementor
    • getDraftInterceptor

      @Nullable public @Nullable org.babyfish.jimmer.sql.DraftInterceptor<?,?> getDraftInterceptor(org.babyfish.jimmer.meta.ImmutableType type)
      指定者:
      getDraftInterceptor 在接口中 JSqlClientImplementor
    • getReader

      public Reader<?> getReader(Class<?> type)
      指定者:
      getReader 在接口中 JSqlClientImplementor
    • getReader

      public Reader<?> getReader(org.babyfish.jimmer.meta.ImmutableType type)
      指定者:
      getReader 在接口中 JSqlClientImplementor
    • getReader

      public Reader<?> getReader(org.babyfish.jimmer.meta.ImmutableProp prop)
      指定者:
      getReader 在接口中 JSqlClientImplementor
    • getMicroServiceName

      public String getMicroServiceName()
      指定者:
      getMicroServiceName 在接口中 JSqlClientImplementor
    • getMicroServiceExchange

      public MicroServiceExchange getMicroServiceExchange()
      指定者:
      getMicroServiceExchange 在接口中 JSqlClientImplementor
    • caches

      指定者:
      caches 在接口中 JSqlClient
      指定者:
      caches 在接口中 JSqlClientImplementor
    • filters

      public JSqlClientImplementor filters(Consumer<FilterConfig> block)
      指定者:
      filters 在接口中 JSqlClient
      指定者:
      filters 在接口中 JSqlClientImplementor
    • disableSlaveConnectionManager

      public JSqlClientImplementor disableSlaveConnectionManager()
      指定者:
      disableSlaveConnectionManager 在接口中 JSqlClient
      指定者:
      disableSlaveConnectionManager 在接口中 JSqlClientImplementor
    • executor

      public JSqlClientImplementor executor(Executor executor)
      指定者:
      executor 在接口中 JSqlClient
      指定者:
      executor 在接口中 JSqlClientImplementor
    • getLoaders

      public Loaders getLoaders()
      指定者:
      getLoaders 在接口中 JSqlClientImplementor
    • initialize

      public void initialize()
      指定者:
      initialize 在接口中 JSqlClientImplementor