공지

JPA

4건

Spring Data JPA findBy 쿼리 메서드로 조건 검색 만들기 — 메서드 이름만으로 SQL이 만들어지는 원리

JDK 21 LTS Spring Boot 3.3.4 MariaDB 10.11 MariaDB Connector/J 3.4.1 메서드 이름을 findByNameContaining처럼 정해진 규칙대로 지으면 Spring Data JPA가 SQL을 직접 만들어준다. 정확 일치·부분 일치·범위·정렬·조합·개수·존재 확인까지 6명의 실제 데이터로 검증했다. MariaDB의 LIKE는 기본적으로 대소문자를 구분하지 않는다는 것도 직접 확인했다.들어가며지난 글에서 JpaRepository를 상속하는 것만으로 저장·조회·수정·삭제가 전부 됐다. 그런데 "이름에 '길'이 들어간 회원만 찾고 싶다"거나 "나이가 25살 이상인 회원만 뽑고 싶다" 같은 조건은 JpaRepository가 기본으로 주는 메서드에 없다. f..

2026.07.06 · 댓글

Spring Boot에 MariaDB 연결하고 JPA로 첫 CRUD 만들기

들어가며지난 글에서 POST /members로 회원가입 API를 만들었다. 그런데 서버를 껐다 켜면 저장했던 회원이 전부 사라졌다. AtomicLong으로 id만 흉내 냈을 뿐, 진짜로 어딘가에 저장한 게 아니었기 때문이다.결론만 이야기하면 이렇다. MariaDB를 설치하고, Spring Data JPA로 Member 엔티티 하나를 만들면, 회원 저장·조회·수정·삭제가 전부 DB에 그대로 남는다. 서버를 껐다 켜도 데이터가 살아있는 것을 확인할 수 있다.curl -X POST http://localhost:8080/members \ -H "Content-Type: application/json" \ -d '{"name":"홍길동","email":"hong@example.com"}'{"id":1,"na..

2026.07.03 · 댓글

[JPA] org.springframework.dao.DataIntegrityViolationException: could not execute statement 오류 해결

에러 상황 JPA를 사용하여 개발하던 중 먼전 delete 호출하고 insert를 호출하는 로직 개발 중에 DataIntegrityViolationException, DataException 에러가 발생했다. org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(Hiberna..

2022.12.19 · 댓글

킹반인이 사이드 프로젝트를 시작하다. (1)

킹반인이 사이드 프로젝트를 시작하다 (1) 나는 여느 사람과 달리 킹반인이라 평범하게 회사도 다니고 평범하게 일상도 즐기고 있는 와중에 문득 평범하게 내가 주도해서 개발을 하고 싶다는 생각을 하게 되었다. 혼자 개발하고 혼자 고민하고 이런 시간이 많다 보니 실력도 잘 늘지 않는 것 같기도 하고 많은 경험을 하지 못하는 것 같아서 여러 사람들과 프로젝트를 하면 좋겠다는 생각으로 이것저것 검색하기 시작했다. 검색해보면서 사이드 프로젝트라는 개념조차도 처음 알았는데...😅 너무 혼자만의 세상에 갇혀있었나 보다.. 따지고 보면 사이드 프로젝트가 이번이 완전 처음은 아니고 아는 사람들을 통해서 가볍게 프로젝트를 진행한 적이 있었는데, 회사에서 개발하면서 자바스크립트도 많이 만지게 되다 보니 스크립트가 궁금하여 바..

2022.11.16 · 댓글 5