Interface MagstarRepository

All Known Subinterfaces:
CompositeKeyRepository<T,K>, Repository<T,ID>

public interface MagstarRepository
所有仓库的基础接口。

提供实体生命周期管理和持久化上下文操作的钩子方法。

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

    Modifier and Type
    Method
    Description
    void
    清除当前仓库的持久化上下文缓存。
    boolean
    contains(Object entity)
    检查实体是否在持久化上下文中。
    void
    detach(Object entity)
    从持久化上下文中分离实体。
    void
    刷新当前仓库管理的所有实体到数据库。
    获取实体类型。
    <E> E
    merge(E entity)
    将游离态实体重新附加到持久化上下文。
    void
    refresh(Object entity)
    刷新实体状态(从数据库重新加载)。
  • Method Details

    • getEntityClass

      Class<?> getEntityClass()
      获取实体类型。
      Returns:
      实体类的 Class 对象
    • flush

      void flush()
      刷新当前仓库管理的所有实体到数据库。

      将持久化上下文中的所有待处理更改同步到数据库。

    • clear

      void clear()
      清除当前仓库的持久化上下文缓存。

      清空持久化上下文,使所有托管态实体变为游离态。

    • detach

      void detach(Object entity)
      从持久化上下文中分离实体。

      将实体从托管态转换为游离态,后续对该实体的修改不会自动同步到数据库。

      Parameters:
      entity - 要分离的实体
    • contains

      boolean contains(Object entity)
      检查实体是否在持久化上下文中。
      Parameters:
      entity - 要检查的实体
      Returns:
      如果实体处于托管态返回 true,否则返回 false
    • merge

      <E> E merge(E entity)
      将游离态实体重新附加到持久化上下文。

      将游离态实体的状态合并到持久化上下文中,返回托管态的实体实例。

      Type Parameters:
      E - 实体类型
      Parameters:
      entity - 要附加的实体
      Returns:
      附加后的托管态实体
    • refresh

      void refresh(Object entity)
      刷新实体状态(从数据库重新加载)。

      丢弃实体的当前状态,从数据库重新加载最新数据。

      Parameters:
      entity - 要刷新的实体