Interface RepositoryFactory

All Known Subinterfaces:
DatabaseService

public interface RepositoryFactory
仓库工厂接口。

提供创建各种类型仓库的工厂方法。

Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
  • Method Details

    • createRepository

      <T, ID> Repository<T,ID> createRepository(Class<T> entityClass)
      创建标准仓库。

      为指定的实体类创建一个标准的 Repository 实例。

      Type Parameters:
      T - 实体类型
      ID - 主键类型
      Parameters:
      entityClass - 实体类的 Class 对象
      Returns:
      标准仓库实例
    • createCompositeKeyRepository

      <T, K extends CompositeKey> CompositeKeyRepository<T,K> createCompositeKeyRepository(Class<T> entityClass)
      创建复合主键仓库。

      为指定的实体类创建一个 CompositeKeyRepository 实例。

      Type Parameters:
      T - 实体类型
      K - 复合主键类型
      Parameters:
      entityClass - 实体类的 Class 对象
      Returns:
      复合主键仓库实例
    • createCustomRepository

      <R extends MagstarRepository> R createCustomRepository(R repository)
      创建自定义仓库。

      为已存在的仓库实例进行初始化和增强。

      Type Parameters:
      R - 仓库类型
      Parameters:
      repository - 仓库实例
      Returns:
      增强后的仓库实例
    • createRepository

      <T, ID, R extends Repository<T, ID>> R createRepository(Class<R> repositoryClass, Class<T> entityClass, Class<ID> idClass)
      根据接口类创建自定义仓库。

      通过给定仓库接口创建仓库实例。

      Type Parameters:
      T - 实体类型
      ID - 主键类型
      R - 仓库类型
      Parameters:
      repositoryClass - 仓库类
      entityClass - 实体类
      idClass - 主键类
      Returns:
      增强后的自定义仓库实例
    • createCompositeKeyRepository

      <T, K extends CompositeKey, R extends CompositeKeyRepository<T, K>> R createCompositeKeyRepository(Class<R> repositoryClass, Class<T> entityClass, Class<K> keyClass)
      根据接口类创建自定义复合主键仓库。

      通过给定仓库接口创建仓库实例。

      Type Parameters:
      T - 实体类型
      K - 主键类型,需为CompositeKey的子类
      R - 仓库类型
      Parameters:
      repositoryClass - 仓库类
      entityClass - 实体类
      keyClass - 复合主键类
      Returns:
      增强后的自定义复合主键仓库实例