Interface PersistenceContext


public interface PersistenceContext
持久化上下文接口。

管理实体的生命周期状态,跟踪实体的变更,提供一级缓存功能。

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

    • persist

      <T> T persist(T entity)
      持久化新实体。

      将瞬时态实体转换为托管态,并标记为待插入。

      Type Parameters:
      T - 实体类型
      Parameters:
      entity - 要持久化的实体
      Returns:
      托管态的实体实例
    • merge

      <T> T merge(T entity)
      合并实体。

      将游离态实体的状态合并到持久化上下文中。

      Type Parameters:
      T - 实体类型
      Parameters:
      entity - 要合并的实体
      Returns:
      托管态的实体实例
    • remove

      void remove(Object entity)
      移除实体。

      将托管态实体标记为待删除。

      Parameters:
      entity - 要移除的实体
    • detach

      void detach(Object entity)
      分离实体。

      将实体从持久化上下文中移除,使其变为游离态。

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

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

      void refresh(Object entity)
      刷新实体。

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

      Parameters:
      entity - 要刷新的实体
    • detectAndFlush

      void detectAndFlush()
      检测变更并刷新到数据库。

      检测所有托管态实体的变更,并将变更同步到数据库。

    • detectDirty

      void detectDirty()
      检测脏数据。

      检测所有托管态实体的变更,标记脏数据但不刷新到数据库。

    • flush

      void flush()
      刷新到数据库。

      将所有待处理的变更同步到数据库。

    • manageQueryResult

      <T> void manageQueryResult(T entity)
      管理查询结果实体。

      将查询结果实体添加到持久化上下文中进行管理。

      Type Parameters:
      T - 实体类型
      Parameters:
      entity - 查询结果实体
    • clear

      void clear()
      清除持久化上下文。

      移除所有托管态实体,清空缓存。

    • getStatistics

      Map<String,Long> getStatistics()
      获取统计信息。
      Returns:
      包含统计数据的 Map
    • getCachedEntityCount

      int getCachedEntityCount()
      获取缓存的实体数量。
      Returns:
      当前持久化上下文中托管的实体数量
    • getInsertCount

      long getInsertCount()
      获取插入操作次数。
      Returns:
      累计插入操作次数
    • getUpdateCount

      long getUpdateCount()
      获取更新操作次数。
      Returns:
      累计更新操作次数
    • getDeleteCount

      long getDeleteCount()
      获取删除操作次数。
      Returns:
      累计删除操作次数