일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 워드프레스
- Login
- 플러그인
- Thymeleaf
- 구글알고리즘
- SEO
- addallattributes()
- 구글애널리틱스
- router
- @Controller
- 리액트오류
- firebase
- 인텔리제이
- JPA
- post
- db
- linkedhastset
- useEffect
- @Repository
- @Query
- @Entity
- mergeattributes()
- Polylang
- ChatGPT
- GA4
- 데이터베이스
- 구글
- HttpSession
- set
- GET
- Today
- Total
목록2025/02/26 (3)
개발천재

JPA가 엔티티를 관리하는 "메모리 저장소" 영속성 컨텍스트(Persistence Context) 이해하기쉽게 말해, "영속성 컨텍스트(Persistence Context)"는 JPA가 데이터베이스와 직접 연결하지 않고 엔티티 객체를 관리하는 메모리 공간이다. JPA를 통해 엔티티를 저장하거나 조회하면, 이 객체는 "영속성 컨텍스트"에 보관된다.데이터베이스랑 직접 연결해서 쓰면 매번 SQL을 실행해야 하지만, JPA는 "영속성 컨텍스트"라는 임시 저장소를 이용해서 객체를 메모리에 올려두고 관리할 수 있다.JPA는 엔티티를 직접 DB에 저장하지 않고, 영속성 컨텍스트에 먼저 보관한다! 필요하면 영속성 컨텍스트에서 먼저 꺼내 쓰고, 수정된 내용은 자동으로 DB에 반영된다! 영속성 컨텍스트에서 빼면 더 이상..

페이징 구현하기스프링 부트에서 페이징(Paging)을 구현하는 방법은 Spring Data JPA의 Pageable과 Page 인터페이스를 활용하는 것이다. Page 인터페이스를 사용하면 페이징 정보를 쉽게 가져올 수 있다. getTotalPages(), getTotalElements(), getNumber(), hasNext(), hasPrevious() 같은 유용한 메서드 제공하고 Pageable을 활용하여 PageRequest.of(page, size)로 요청이 가능하다. Pageable을 사용하면 자동으로 페이징 쿼리를 실행한다. 정렬을 추가하려면 Sort 활용하고, 특정 조건으로 페이징하려면 findByXXX(String, Pageable) 사용한다. 컨트롤러에서 Page를 반환하면 JSON 타..

@Transactional 이해하기@Transactional은 주로 데이터베이스 작업에서 일관성과 무결성을 보장하기 위해 사용되는 어노테이션이다. 이 어노테이션을 메서드나 클래스에 적용하면, 해당 메서드나 클래스 내에서 수행되는 데이터베이스 작업이 하나의 트랜잭션으로 묶인다. 트랜잭션은 여러 개의 데이터베이스 작업을 하나의 단위로 묶어서 실행되는데, 모든 작업이 성공적으로 완료되면 데이터베이스에 반영되고, 만약 하나라도 실패하면 모든 작업을 취소하고 원래 상태로 되돌리게 된다. @Transactional 핵심 개념 (ACID)트랜잭션은 ACID라는 네 가지 특성을 가진다.Atomicity (원자성)트랜잭션 내의 모든 작업은 하나의 단위로 처리된다. 모든 작업이 성공하면 커밋되고, 실패하면 모두 롤백된다..