Interface AgentSettingsRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<AgentSettingsEntity,,Long> org.springframework.data.jpa.repository.JpaRepository<AgentSettingsEntity,,Long> org.springframework.data.jpa.repository.JpaSpecificationExecutor<AgentSettingsEntity>,org.springframework.data.repository.ListCrudRepository<AgentSettingsEntity,,Long> org.springframework.data.repository.ListPagingAndSortingRepository<AgentSettingsEntity,,Long> org.springframework.data.repository.PagingAndSortingRepository<AgentSettingsEntity,,Long> org.springframework.data.repository.query.QueryByExampleExecutor<AgentSettingsEntity>,org.springframework.data.repository.Repository<AgentSettingsEntity,Long>
@Repository
public interface AgentSettingsRepository
extends org.springframework.data.jpa.repository.JpaRepository<AgentSettingsEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<AgentSettingsEntity>
Repository for AgentSettingsEntity
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.data.jpa.repository.JpaSpecificationExecutor
org.springframework.data.jpa.repository.JpaSpecificationExecutor.SpecificationFluentQuery<T extends Object> -
Method Summary
Modifier and TypeMethodDescriptionexistsByNameAndOrgUid(String name, String orgUid) findByOrgUid(String orgUid) findByOrgUidAndEnabledTrue(String orgUid) findByOrgUidAndIsDefaultTrue(String orgUid) 查找 AgentSettings 并使用 JOIN FETCH 加载第一级关联 加载 serviceSettings 和 draftServiceSettings,但不加载它们的集合 Note: 由于 Hibernate MultipleBagFetchException 限制, 不能在一个查询中同时 JOIN FETCH 多个 List 集合 FAQ 集合将在事务内通过访问触发懒加载findDefaultForUpdate(String orgUid) 使用悲观锁读取默认配置,防止并发下重复创建/更新导致的冲突Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, saveMethods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlushMethods inherited from interface org.springframework.data.jpa.repository.JpaSpecificationExecutor
count, delete, exists, findAll, findAll, findAll, findAll, findBy, findOneMethods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAllMethods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
-
Method Details
-
findByUid
-
findByUidWithCollections
@Query("select a from AgentSettingsEntity a left join fetch a.serviceSettings left join fetch a.draftServiceSettings where a.uid = :uid") Optional<AgentSettingsEntity> findByUidWithCollections(@Param("uid") String uid) 查找 AgentSettings 并使用 JOIN FETCH 加载第一级关联 加载 serviceSettings 和 draftServiceSettings,但不加载它们的集合 Note: 由于 Hibernate MultipleBagFetchException 限制, 不能在一个查询中同时 JOIN FETCH 多个 List 集合 FAQ 集合将在事务内通过访问触发懒加载 -
findByOrgUid
-
findByOrgUidAndIsDefaultTrue
-
findDefaultForUpdate
@Lock(PESSIMISTIC_WRITE) @Query("select a from AgentSettingsEntity a where a.orgUid = :orgUid and a.isDefault = true") Optional<AgentSettingsEntity> findDefaultForUpdate(@Param("orgUid") String orgUid) 使用悲观锁读取默认配置,防止并发下重复创建/更新导致的冲突 -
findByOrgUidAndEnabledTrue
-
existsByNameAndOrgUid
-