반응형 [개발] 프레임워크49 [JPA] 트랜잭션을 지원하는 쓰기 지연은 락을 몇 초 잡을까? JPA는 엔티티 매니저가 트랜잭션을 지원하는 쓰기 지연을 통해 트랜잭션이 종료될 때 플러시하고 커밋할 때 모든 쿼리를 데이터베이스에 전송하여 각 로우 데이터의 락을 최소한으로 잡는다고 합니다. 그래서 아래의 경우들이 락을 얼마나 잡는지 궁금했습니다.MyBatis를 통해 트랜잭션을 실행하는 경우JPA로 트랜잭션을 실행하는 경우 우선 알아야 할 것은 락의 유지시간을 확인하는 방법입니다. MySQL을 사용한다면 performance_schema 데이터베이스를 통해서 확인할 수 있으며, 아래는 절차입니다. my.ini 또는 my.cnf에 아래 내용을 추가합니다.[mysqld]performance_schema=ONperformance_schema.setup_instruments 테이블을 수정합니다.트랜잭션 테이블.. 2024. 7. 14. [JPA] java 8과 hibernate의 java.time 패키지 처리 프로젝트 스펙은 아래와 같습니다.hibernate-core 5.0.12hibernate-jpa-2.1-api 1.0.0 Finaljava 1.8 날짜 컬럼을 이용하여 Between 쿼리를 수행하려고 합니다.findBy[날짜필드]Between(LocalDateTime startDate, LocalDateTime endDate) 이 메서드를 수행하면 LocalDateTime이 아래와 같이 파라미터 바인딩되어 정상적으로 데이터를 가져오지 못합니다.between '' and '' LocalDateTime을 byte[]로 인식을 합니다. java.time.LocalDateTime을 java.util.Date 으로 타입을 변경하면 정상적으로 메서드가 수행됩니다.왜 이런 상황이 발생한 걸까요? hibernate 5.. 2024. 7. 3. Spring AOP AOP(Aspect Oriented Programming), 관점 지향 프로그래밍이란?애플리케이션의 핵심적인 기능에서 부가적인 기능을 분리해서 애스펙트라는 독특한 모듈로 만들어 설계하고 개발하는 방법, OOP를 돕는 보조적인 기술 Spring AOP의 중요 개념은 아래와 같다. ■ 타깃(Target)타깃은 부가기능을 부여할 대상이다. 핵심기능을 담은 클래스일 수도 있지만 경우에 따라서는 다른 부가기능을 제공하는 프록시 오브젝트일 수도 있다. ■ 어드바이스(Advice)어드바이스는 타깃에게 제공할 부가기능을 담은 모듈이다. 어드바이스는 오브젝트로 정의하기도 하지만 메소드 레벨에서 정의할 수도 있다. 어드바이스는 여러 가지 종류가 있다. MethodInterceptor처럼 메소드 호출 과정에 전반적으로 참.. 2024. 6. 26. Spring MVC Spring MVC의 전체적인 흐름은 다음과 같습니다.클라이언트 요청사용자가 브라우저에서 URL을 입력하거나 링크를 클릭하면 HTTP 요청이 서버로 전송Filter 처리요청이 DispatcherServlet에 도달하기 전에 하나 이상의 필터가 수행필터는 서블릿 컨테이너 레벨에서 동작하며 요청과 응답을 가로채고, 수정하거나 로깅 등의 작업을 수행DispatcherServlet모든 요청은 Spring의 DispatcherServlet으로 전달DispatcherServlet은 프론트 컨트롤러로써 요청을 적절한 처리기로 라우팅하는 역할HandlerMappingDispatcherServlet은 요청 URL을 기반으로 어떤 컨트롤러가 이 요청을 처리할지 결정Interceptor의 preHandle요청이 컨트롤러에 .. 2024. 6. 23. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음 반응형