본문 바로가기

java25

[개발] 포인트 적립 구현 - 2 저번 글에서 포인트 적립 기능을 구현하기 전 엔티티를 생성하고 Enum을 생성하는 등의 준비를 마쳤다. 포인트 적립은 게시글을 등록할 때 이루어지기 때문에 service단에서 PointCommonService라고 이름을 지어 여러군데에서 사용되는 코드들을 작성하려고 분리했다. PointCommonService @Service @RequiredArgsConstructor @Transactional public class PointCommonService { private final PointHistoryRepo pointHistoryRepo; private final PointHistoryDetailRepo pointHistoryDetailRepo; public Long addPoint(Long userI.. 2024. 4. 16.
포인트 기능 요구사항 정리 이번에 개인 프로젝트에서는 포인트 관련 기능들도 개발 해보려고 한다. 어떤 기능을 구현 해보는게 좋을지 생각하다가 간단하게 게시글 작성 시에 포인트를 지급하고, 게시글을 수정하거나 삭제 할 때, 추후에 댓글 기능도 개발한다면 댓글 작성 시 포인트를 차감하도록 생각하고 있다. 또한, 스케줄러도 적용해서 포인트의 일정 기간이 지나면 소멸되도록 구현 해볼 생각이다. 1. 사용자별 포인트 내역 조회 - 사용자별로 적립, 사용, 만료 소멸된 포인트를 조회할 수 있도록 개발 - 검색 구분 값 (내역, 만료일로 검색 가능하도록 설정) 2. Total 포인트 조회 - 사용자가 보유한 총 포인트 조회 - 캐시로 저장 3. 만료 스케줄러 - 사용자별 만료되어야 할 총 포인트 조회 (만료일이 지난 가용 포인트를 추출) - .. 2024. 4. 11.
[Java] JPA 강의 - 3 (영속성 관리) 1. 영속성 컨텍스트 - 엔티티를 영구 저장하는 환경 - 엔티티 매니저를 통해서 영속성 컨텍스트에 접근함 - 논리적인 개념 2. 엔티티의 생명주기 - 비영속 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 - 영속 영속성 컨텍스트에 관리되는 상태 - 준영속 영속성 컨텍스트에 저장되었다가 분리된 상태 - 삭제 삭제된 상태 3. 영속성 컨텍스트의 이점 - 1차 캐시 1차 캐시에서 조회 : DB를 직접 조회하는 것이 아닌 1차 캐시에서 조회하는 것 데이터베이스에서 조회 : 1차 캐시에 없으면 DB에서 조회 후 1차 캐시에 저장하고 반환함 --> JPA는 엔티티를 조회하면 영속성 컨텍스트에 올림 - 동일성 보장 같은 트랜잭션 안에서 1차 캐시로 읽으면 동일성을 보장함 - 트랜잭션을 지원하는 쓰기 지연 엔티티 매.. 2024. 1. 11.
[Java] JPA 강의 - 1, 2 (JPA 소개) 예전에 실무를 하게 되면서 JPA 강의를 듣게 되었는데 기억이 안나는 부분도 있고, 복습을 하고 싶어서 다시 학습을 시작했다. 나는 Inflearn에서 김영한의 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의로 학습했다. 강의를 들으면서 핵심 내용이나 내가 기록하고 싶은 내용 위주로 정리를 해보려고 한다. 1. JPA란? - Java Persistence API - 자바 진영의 ORM 기술 표준 2. ORM이란? - 객체 관계 매핑 (Object-relational mapping) - 객체는 객체대로, 관계형 데이터베이스는 관계형 데이터베이스대로 설계 3. JPA를 사용해야 하는 이유 - SQL 중심적 개발에서 객체 중심으로 개발하기 위함 - 생산성 : CRUD(저장, 조회, 수정, 삭제)가 편리함 .. 2024. 1. 11.