Я использую Spring Boot 3.4.3 с MySQL 8.0 и Hibernate 6.6.8.final на AWS RDS. Все работает нормально, за исключением одной проблемы.
Я добавил @transactional (readonly = true) аннотацию в метод запроса только для чтения, как ниже. Тем не менее, соединение не возвращается и создается непрерывно в состоянии сна. < /P>
Я использую Spring Boot 3.4.3 с MySQL 8.0 и Hibernate 6.6.8.final на AWS RDS. Все работает нормально, за исключением одной проблемы. Я добавил @transactional (readonly = true) аннотацию в метод запроса только для чтения, как ниже. Тем не менее, соединение не возвращается и создается непрерывно в состоянии сна. < /P>
@Transactional(readOnly = true) public List barCodeSearch(String keyword) throws IllegalArgumentException { return barCodeRepository.searchKeyword(keyword); }
@Transactional(readOnly = true) public List barCodeList(){ return barCodeRepository.findAll(); }< /code> < /div> < /div> `< /p>
"@Override public List searchKeyword(String keyword) { BooleanBuilder builder = new BooleanBuilder(); builder.and(barCode.isActive.isTrue()); builder.and(barCode.deleteDate.isNull());
if (keyword != null && !keyword.trim().isEmpty()) { BooleanBuilder keywordBuilder = new BooleanBuilder(); keywordBuilder.or(barCode.barcode.containsIgnoreCase(keyword)); keywordBuilder.or(barCode.type.containsIgnoreCase(keyword)); keywordBuilder.or(barCode.message.containsIgnoreCase(keyword)); keywordBuilder.or(barCode.descText.containsIgnoreCase(keyword)); keywordBuilder.or(barCode.createUser.containsIgnoreCase(keyword)); builder.and(keywordBuilder); }
if (keyword != null && !keyword.trim().isEmpty()) { switch (searchType.toLowerCase()) { case "barcode" -> builder.and(barCode.barcode.containsIgnoreCase(keyword)); case "message" -> builder.and(barCode.message.containsIgnoreCase(keyword)); case "desc_text" -> builder.and(barCode.descText.containsIgnoreCase(keyword)); case "create_user" -> builder.and(barCode.createUser.containsIgnoreCase(keyword)); default -> throw new IllegalArgumentException("잘못된 검색 유형입니다."); } }
long total = Optional.ofNullable( queryFactory .select(barCode.count()) .from(barCode) .where(builder) .fetchOne()).orElse(0L);
if (total == 0) { return Page.empty(pageable); }
List result = queryFactory .selectFrom(barCode) .where(builder) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .orderBy(barCode.createDate.desc()) .fetch();
Я работаю над приложением Spring Boot, в котором у меня есть метод, отмеченный @Transactional(readOnly = true), который извлекает данные из базы данных. Однако после вызова этого метода мне нужно выполнить операцию записи, и это вызывает проблему....
Я работаю над приложением Spring Boot, в котором у меня есть метод, отмеченный @Transactional(readOnly = true), который извлекает данные из базы данных. Однако после вызова этого метода мне нужно выполнить операцию записи, и это вызывает проблему....
Я работаю над приложением Spring Boot, в котором у меня есть метод, отмеченный @Transactional(readOnly = true), который извлекает данные из базы данных. Однако после вызова этого метода мне нужно выполнить операцию записи, и это вызывает проблему....
Я работаю над приложением Spring Boot, в котором у меня есть метод, отмеченный @Transactional(readOnly = true), который извлекает данные из базы данных. Однако после вызова этого метода мне нужно выполнить операцию записи, и это вызывает проблему....