Posts

Showing posts from August, 2026

Spring jpa criteria example

 import jakarta.persistence.EntityManager; import jakarta.persistence.TypedQuery; import jakarta.persistence.criteria.CriteriaBuilder; import jakarta.persistence.criteria.CriteriaQuery; import jakarta.persistence.criteria.Join; import jakarta.persistence.criteria.Path; import jakarta.persistence.criteria.Predicate; import jakarta.persistence.criteria.Root; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.Month; import java.util.List; import java.util.Objects; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Component; @Component public class TransactionCriteria { private static final String TRANSACTION_POINT = "transactionPoint"; private static final String EARNED_POINTS = "earnedPoints"; private static final String CREATED_AT = "createdAt"; private static final String OPERATION_TYPE = "operationType"; private static final String CUSTOMER_ID = ...

Exception handling mechanism prompt for spring boot project

 ## Exception Mechanism — Prompt (Spring Boot Microservice) ### Goal Build a standardized, i18n-enabled exception mechanism in a Spring Boot microservice that returns error responses aligned with HTTP status codes. --- ### Package structure ``` exception/ ├── base/ │ ├── BaseErrorService.java (interface) │ ├── BaseErrorEnum.java (common/base error codes) │ ├── BaseException.java (abstract exception) │ ├── BaseErrorResponseDto.java (API response DTO) │ └── {Specific}Exception.java (optional — domain-specific, extends BaseException) ├── {ServiceName}ErrorEnum.java (project-specific error enum) ├── {ServiceName}Exception.java (general domain exception) ├── {Domain}Exception.java (domain exceptions — as needed) ├── ClientException.java (Feign/external error wrapper — SEPARATE from BaseException) └── GlobalExceptionHandler.java (@RestControllerAdvice) ``` --- ### 1. `BaseErrorService` (interface) The contract that al...