DB(3)
-
[JPA] 소프트딜리트를 구현하자
개요현재 진행 중인 프로젝트에서 유저 회원 탈퇴를 소프트딜리트로 구현을 하기로 하여 만들어보았다.여러 생각을 하면서 만들다보니 소스코드가 깔끔하지는 않은데 글을 적으면서 정리를 해보기로 하였다. 소프트딜리트의 원리소프트 딜리트는 데이터를 실제로 삭제하지 않고, deleted 같은 플래그 값을 true로 바꿔서 논리적으로 삭제를 하는 방식이다.조회시 과거에는 @Where 어노테이션을 사용하였지만, 현재는 @SQLRestriction 어노테이션을 사용하여 구현한다.JPA에서는 @SQLDelete, @Where 어노테이션 등을 사용해 자동화할 수 있었지만, 최신 버전에서는 필터링 로직 구현하는 방식이 권장된다. 이번에는 간단하게 보여주기 위해 프로젝트 일부를 잘라오면서, 단순하게 구현을 하도록 하겠다. 소..
2025.07.27 -
[Redis] Redisson 설정 해보자.
개요최종 프로젝트를 진행을 하면서 동시성 제어를 맡게 되었다. 다른 락도 같이 공부를 할 것인데, 일단 기능을 만들어두고 공부를 해야겠다고 생각을 하여서 Redis부터 진행을 하게 되었다. 이번에 Redis 설정을 진행을 하면서 설정법에 대해서 알게 되어 정리를 남긴다. Redis 의존성 종류에 대해서 알아보자.implementation 'org.redisson:redisson:3.43.0'implementation 'org.redisson:redisson-spring-data-34:3.45.1'implementation 'org.springframework.boot:spring-boot-starter-data-redis' 이렇게 3가지가 있는 것을 확인을 하였다. 간단하게 정리를 하면가장 위에 있는 의..
2025.04.02 -
[JPA] cascade 에 cascadeType 은 어떤 것이 있을까?
개요오늘 과제 중에 cascade = CascadeType을 지정을 해주었는데 왜 돌아가는 것인지 궁금해서CascadeType에 대해서 자세하게 조사를 해보았다. 일단 과제의 결론을 이야기하면 밑에 생성자에 값을 넣어주는 것을 못찾아서 그랬지만확실하게 알게 되어서 결과는 좋다. 한잔해 Cascade란?@OneToMany 나 @ManyToOne 에 옵션으로 줄수 있는 값이면서 Entity의 상태 변화를 전파 시키는 옵션이다. 이렇게 말을 하면 뭔가 어려운 듯 하니 풀어서 설명을 해보면 1대 다 관계에서 사용을 할 수 있으면서, 그 관계에서 하나의 Entity가 값이 변하거나, 삭제 되거나, 기존 값에서 변경이 된다면 그 자식의 객체에도 값을 전파 시키는 것이다. CascadeType은 어떤 것이 ..
2025.03.13