2024/09 4

[Spring] org.springframework.orm.jpa.JpaSystemException: Error attempting to apply AttributeConverter

오늘은 에러 로그 관련해서 포스팅을 진행하려고 합니다. 개발 도중에 발생한 Error log인데, Error log를 먼저 보여드리고 분석한 내용에 대해 설명드리겠습니다. Error logorg.springframework.orm.jpa.JpaSystemException: Error attempting to apply AttributeConverter; nested exception is javax.persistence.PersistenceException: Error attempting to apply AttributeConverter at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(E..

Java/Spring 2024.09.26

[Spring] @Transactional isolation level, propagation level, timeout

오늘은 @Transactional annotation의 isolation level, propagation level, timeout에 대해 설명드리도록 하겠습니다.  먼저 @Transactional annotation이 무엇인지에 대해 알아본 후에, 핵심적인 내용들을 설명드리겠습니다.  @Transacational@Transactional은 DB 작업에서 Transaction을 관리하는 데 사용되는 annotationTransaction: 단일 작업 단위로 실행되는 하나 이상의 데이터베이스 작업 시퀀스, 더 이상 쪼갤 수 없는 최소 작업 단위Transcation은 commit으로 성공하거나 rollback으로 작업을 취소하고 이전 상태로 복원해야 합니다.commit: Transaction이 끝나는 시점..

Java/Spring 2024.09.23

[Spring] Spring Security 동작 원리 파악 (id, pw 기반의 basic auth 방식)

Spring Framwork 기반 Application에서 Spring Security를 적용하여 로그인 기능을 구현하곤 합니다. 기능 구현 방식에 있어, 전통적인 방식인 id, pw 기반의 세션 인증 방식이 있습니다. 오늘은 이 방식에 대해 상세히 정리해 보도록 하겠습니다. 이 포스팅은 Jwt, OAuth 기반의 인증에 대한 내용과는 별개의 내용이므로 참고 부탁드립니다. 우선 Spring Security의 개념과 관련 용어들에 대해 간단히 설명드리도록 하겠습니다. Spring Security Spring Security는 스프링 기반 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크입니다.보안과 관련해서 체계적으로 많은 옵션들을 제공해 주기 때문에 개발자의 입장에서는 보안 관련 로직을 직접 작성하지..

Java/Spring 2024.09.06

[Spring] org.hibernate.AssertionFailure: null id in entry (don't flush the Session after an exception occurs)

(conn=65) Duplicate entry '13-11.1.1.81' for key 'device_id_ip_UNIQUE'org.hibernate.AssertionFailure: null id in com.piolink.cc.app.ndm.domain.Host entry (don't flush the Session after an exception occurs) 해당 에러가 어떠한 에러인지 간략하게 설명드리겠습니다. try ~ catch 문에서 save 과정을 거칠 때, unique key 제약 조건을 위반하여 첫 번째로 Hibernate Exception인 DataIntegrityViolationException이 발생하게 됩니다.  이후 JPA Save가 실패하면서 세션이 초기화되어야 하지만, H..

Java/Spring 2024.09.04