분류 전체보기24 JPA 영속성이란? #2 JPA 영속성(Persistence)이란?JPA(Java Persistence API)에서 영속성(Persistence)이란, 데이터를 특정한 생명주기 동안 유지하고 관리하는 것을 의미합니다. 이는 애플리케이션의 객체 상태를 데이터베이스와 일치하도록 유지하는 것을 목표로 합니다. JPA의 핵심 역할 중 하나는 데이터베이스와의 상호작용을 통해 자바 객체의 상태를 저장하고 조회하며, 이를 통해 객체 지향적인 프로그래밍과 데이터베이스의 관계형 모델 간의 간극을 메워주는 것입니다. 영속성 컨텍스트(Persistence Context)란?영속성 컨텍스트는 JPA에서 매우 중요한 개념으로, 엔티티(Entity) 객체를 관리하는 일종의 '저장소' 또는 '캐시'라고 할 수 있습니다. 쉽게 말해, 엔티티의 영속 상태를 .. 2024. 11. 11. JpaRepository란 무엇인가? Spring Data JPA의 CRUD 연동을 쉽게 만드는 방법! JpaRepository란 무엇인가?JpaRepository는 Spring Data JPA가 제공하는 인터페이스로, JPA(Java Persistence API)를 통해 데이터베이스와의 상호작용을 쉽게 할 수 있도록 도와줍니다. JpaRepository를 사용하면 데이터베이스에서 데이터를 삽입, 조회, 수정, 삭제(CRUD)하는 작업을 직접 구현하지 않아도, 기본적인 CRUD 기능을 자동으로 사용할 수 있습니다. JpaRepository의 장점JpaRepository를 사용하면 다음과 같은 장점이 있습니다.기본 CRUD 메서드 제공JpaRepository를 상속받는 것만으로 save, findById, findAll, deleteById 등 기본적인 CRUD 메서드를 바로 사용할 수 있습니다. 추가 구현.. 2024. 11. 10. redirect_uri_mismatch 오류 해결 redirect_uri_mismatch 오류란?OAuth2 인증을 구현할 때, 사용자가 Google에 인증을 요청하고 인증을 마치면 Google은 사용자에게 액세스 토큰을 전달하기 위해 미리 지정된 리디렉션 URI로 다시 리디렉션합니다. 이때 애플리케이션에서 설정한 redirect_uri가 Google에 등록된 값과 다르면 Google은 요청을 거부하고redirect_uri_mismatch 오류를 반환하게 됩니다. 오류 메시지 예시 오류 원인이 오류는 redirect_uri가 다음과 같은 이유로 일치하지 않을 때 발생합니다:애플리케이션에 설정한 redirect_uri와 Google Cloud Console에 등록된 리디렉션 URI가 다를 때Google Cloud Console에 등록되지 않은 redire.. 2024. 11. 10. application-private.properties 파일 내용 서버에 적용하기 start.sh 에 export 명령어를 이용해서 배포 시 필요한 환경변수들을 적용했는데도 서버 실행 시 환경 변수를 가져오지 못할 경우 인텔리제이에서는 아래 그림과 같이 run/debug Configurations 창에서 어떤 status 로 실행할 것인지 명시할 수 있습니다.Active profiles 에 dev를 적으면application.properties(기본 설정파일) 을 읽은 후 application-dev.properties 를 읽어 설정 값에 따라 실행이 되고, Active profiles에 prod를 적으면application.properties(기본 설정파일) 을 읽은 후 application-prod.properties 를 읽어 설정 값에 따라 실행이 됩니다. 근데 privat.. 2024. 11. 9. [JPA] 자바 ORM 표준 JPA 프로그래밍 #1 "JPA 가 그리 좋더라", "JPA 안 쓰세요?"라는 말과 함께 JPA 관련 강의가 쏟아지는 요즘. 그래서 JPA 가 뭔데? 뭐가 편한데? 를 시작으로 이 책을 구매하게 되었다. JPA를 알기 이전의 나는 MyBatis 를 애용하고 쿼리문 수정하기 급급한 개발자의 모습에 가까웠다. 더보기 위 그림과 같이 공지(Inform)을 가져오는 sql문을 작성하고, JDBC API를 사용하는 방식이라면CRUD를 진행하기 위한 sql문이 많아질 것이고, 테이블마다 만들어 주어야 하기 때문에똑같은 개발을 n번 더 반복해야하는 불편함이 생긴다. (코드가 얼마나 지저분한지 ㅎ)+ 추가로 만약 데이터 베이스가 변경이 되었다? 그럼 모든 sql문을 다 바꿔야 하는 불상사가 생긴다.. 애플리케이션이 발전하면 그 내부.. 2024. 11. 4. start.sh 실행되지 않는 오류 스크립트의 첫 번째 줄에 #!/bin/bash 나 #!/bin/sh 가 적혀있는지 확인하자. #!/bin/bash# 환경 변수 설정export SPRING_DATASOURCE_URL="jdbc:mysql://..."# (이하 생략) 이 shebang이 없으면, 시스템은 스크립트를 실행할 수 없다. 2024. 10. 31. 이전 1 2 3 4 다음