From 2adf4951f75277c2a0505a4e6a7d8ba6b3978467 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Wed, 21 Jan 2026 22:11:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(database):=20=E8=A1=A5=E5=85=85=E4=BA=8B?= =?UTF-8?q?=E5=8A=A1=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/database/eq/service/SimpleServiceSupport.java | 6 ++++++ .../template/database/jpa/service/SimpleServiceSupport.java | 6 ++++++ .../database/xbatis/service/SimpleServiceSupport.java | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/service/SimpleServiceSupport.java b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/service/SimpleServiceSupport.java index 55ffffd..26d2015 100644 --- a/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/service/SimpleServiceSupport.java +++ b/spring-boot-service-template-database/spring-boot-service-template-database-eq/src/main/java/com/lanyuanxiaoyao/service/template/database/eq/service/SimpleServiceSupport.java @@ -64,16 +64,19 @@ public abstract class SimpleServiceSupport list() { return entityQuery.queryable(target).toList(); } + @Transactional(readOnly = true) @Override public List list(Set ids) { if (ObjectHelper.isEmpty(ids)) { @@ -87,6 +90,7 @@ public abstract class SimpleServiceSupport list(Query query) { var index = DEFAULT_PAGE_INDEX; @@ -115,12 +119,14 @@ public abstract class SimpleServiceSupport new IdNotFoundException(id)); diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-jpa/src/main/java/com/lanyuanxiaoyao/service/template/database/jpa/service/SimpleServiceSupport.java b/spring-boot-service-template-database/spring-boot-service-template-database-jpa/src/main/java/com/lanyuanxiaoyao/service/template/database/jpa/service/SimpleServiceSupport.java index d1623f1..b5e9da6 100644 --- a/spring-boot-service-template-database/spring-boot-service-template-database-jpa/src/main/java/com/lanyuanxiaoyao/service/template/database/jpa/service/SimpleServiceSupport.java +++ b/spring-boot-service-template-database/spring-boot-service-template-database-jpa/src/main/java/com/lanyuanxiaoyao/service/template/database/jpa/service/SimpleServiceSupport.java @@ -117,6 +117,7 @@ public abstract class SimpleServiceSupport implemen * * @return 返回符合条件的实体数量 */ + @Transactional(readOnly = true) @Override public Long count() { return repository.count(this::commonPredicates); @@ -130,6 +131,7 @@ public abstract class SimpleServiceSupport implemen * * @return 返回符合条件的实体列表 */ + @Transactional(readOnly = true) @Override public List list() { return repository.findAll(this::commonPredicates); @@ -144,6 +146,7 @@ public abstract class SimpleServiceSupport implemen * @param ids ID集合 * @return 返回ID集合对应的实体列表 */ + @Transactional(readOnly = true) @Override public List list(Set ids) { if (ObjectHelper.isEmpty(ids)) { @@ -174,6 +177,7 @@ public abstract class SimpleServiceSupport implemen * @param listQuery 查询条件对象 * @return 返回分页查询结果 */ + @Transactional(readOnly = true) @Override public Page list(Query listQuery) { var pageRequest = PageRequest.of(DEFAULT_PAGE_INDEX - 1, DEFAULT_PAGE_SIZE, Sort.by(SimpleEntity.Fields.createdTime).descending()); @@ -242,6 +246,7 @@ public abstract class SimpleServiceSupport implemen * @return 返回实体详情,不存在时返回null */ @Named("detail") + @Transactional(readOnly = true) @Override public ENTITY detail(Long id) { return detailOptional(id).orElse(null); @@ -258,6 +263,7 @@ public abstract class SimpleServiceSupport implemen * @throws IdNotFoundException 当实体不存在时抛出 */ @Named("detailOrThrow") + @Transactional(readOnly = true) @Override public ENTITY detailOrThrow(Long id) { return detailOptional(id).orElseThrow(() -> new IdNotFoundException(id)); diff --git a/spring-boot-service-template-database/spring-boot-service-template-database-xbatis/src/main/java/com/lanyuanxiaoyao/service/template/database/xbatis/service/SimpleServiceSupport.java b/spring-boot-service-template-database/spring-boot-service-template-database-xbatis/src/main/java/com/lanyuanxiaoyao/service/template/database/xbatis/service/SimpleServiceSupport.java index 60a4009..9b8c0e4 100644 --- a/spring-boot-service-template-database/spring-boot-service-template-database-xbatis/src/main/java/com/lanyuanxiaoyao/service/template/database/xbatis/service/SimpleServiceSupport.java +++ b/spring-boot-service-template-database/spring-boot-service-template-database-xbatis/src/main/java/com/lanyuanxiaoyao/service/template/database/xbatis/service/SimpleServiceSupport.java @@ -47,16 +47,19 @@ public abstract class SimpleServiceSupport implemen mapper.saveOrUpdate(entities); } + @Transactional(readOnly = true) @Override public Long count() { return (long) mapper.countAll(target); } + @Transactional(readOnly = true) @Override public List list() { return mapper.listAll(target); } + @Transactional(readOnly = true) @Override public List list(Set ids) { return mapper.listByIds(target, ids); @@ -65,6 +68,7 @@ public abstract class SimpleServiceSupport implemen protected void commonPredicates(Where where) { } + @Transactional(readOnly = true) @Override public Page list(Query query) { var chain = QueryChain.of(mapper, target); @@ -98,12 +102,14 @@ public abstract class SimpleServiceSupport implemen } @Named("detail") + @Transactional(readOnly = true) @Override public ENTITY detail(Long id) { return detailOptional(id).orElse(null); } @Named("detailOrThrow") + @Transactional(readOnly = true) @Override public ENTITY detailOrThrow(Long id) { return detailOptional(id).orElseThrow(() -> new IdNotFoundException(id));