🔥 문제 발생 상황 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by s..
전체보기
데이터베이스 연동 📁 application.yml spring: datasource: url: jdbc:h2:tcp://localhost/~/test username: sa password: driver-class-name: org.h2.Driver spring.datasource : DB 연결정보 JPA ddl-auto 옵션 📁 application.yml spring: jpa: open-in-view: false hibernate: ddl-auto: create open-in-view : osiv 웹 요청이 완료될 때까지 영속성을 가지는 옵션 (켜두면 성능상 안 좋기 때문에 false 사용) hibernate.ddl-auto : create : 기존 테이블 삭제 후 다시 테이블 생성 (DROP + C..
Auditing 기능이란? JPA를 사용해 도메인을 관계형 데이터베이스 테이블에 매핑할 때 도메인들이 공통적으로 가지고 있는 컬럼이 존재한다. 대표적으로 생성일, 등록일 같은 것들이 있다. 데이터베이스에 누가, 언제했는지 기록을 남기는 생성일, 수정일 컬럼은 굉장히 중요한 데이터라고 할 수 있다. 그래서 Spring Data JPA는 Auditing이라는 기능을 제공해준다. 이 기능은 시간에 대해 자동으로 값을 넣어주는 기능으로, 도메인을 영속성 컨텍스트에 저장하거나 조회 후 수정하는 경우 자동으로 시간을 매핑해 데이터베이스의 테이블에 넣어준다. 사용방법 👉🏻 의존성 추가 📁 build.gradle dependencies { implementation 'org.springframework.boot:spr..
본 포스팅은 [인프런] 스프링 DB 2편 - 데이터 접근 활용 기술 강의를 바탕으로 공부하고 정리한 글입니다. 데이터 접근 기술 SQL Mapper 기술 개발자가 SQL만 작성하면 해당 SQL의 결과를 객체로 편하게 매핑해준다. JDBC를 직접 사용할 때 발생하는 여러가지 중복을 제거해주고, 기타 개발자에게 여러 편리한 기능을 제공해준다. 예) Jdbctemplate, MyBatis ORM 관련 기술 SQL Mapper 기술은 SQL을 개발자가 직접 작성해야 하지만, JPA는 기본적인 SQL을 대신 작성하고 처리해준다. 따라서 개발자는 저장하고 싶은 객체를 마치 자바 컬렉션에 저장하고 조회하듯이 사용하면 ORM 기술이 데이터베이스에 해당 객체를 저장하고 조회해준다. 예) JPA, Hibernate, 스프..
본 포스팅은 [인프런] 스프링 DB 1편 - 데이터 접근 핵심 원리 강의를 바탕으로 공부하고 정리한 글입니다. 자바의 예외 계층 Object • 예외도 객체이므로 최상위 부모가 Object이다. (자바의 모든 객체의 최상위 부모는 Object) Throwable • 최상위 예외 Error • 메모리 부족이나 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외 • 개발자는 이 예외를 잡으려고 해서는 안된다. Exception • 체크 예외 • 애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다. • 컴파일러가 체크하는 예외 (단 RuntimeException은 예외) RuntimeException • 언체크 예외, 런타임 예외 • 컴파일러가 체크 하지 않는 예외 예외 처리 규칙 예외는..
HTTP Hyper Text Transfer Protocol의 약어 WWW 서버와 WWW 클라이언트 간의 통신을 수행하는 데 사용하는 네트워크 프로토콜 WWW 서버로부터 정보를 취득할 때 HTTP 프로토콜을 사용해 통신한다. HTTP는 달라고 요청된 데이터에 데이터 속성(정적 이미지, 텍스트 등)을 헤더로 붙여 반환한다. 일반적으로 80번 통신 포트 사용 HTTP에 의한 파일 전송은 요청에 대한 응답을 처리한 후 연결이 끊어지므로 여러 페이지에 걸쳐 처리해야 할 경우 페이지 간 정보를 유지할 수 없다는 단점이 있었지만, HTTP 1.1에서 연결을 끊지 않은 채 여러 요청을 계속 수행할 수 있도록 기능이 확장되었다. HTTP/2는 하나의 연결 내 동시에 여러 개를 요청할 수 있도록 하는 등 효율성을 높이고..
본 포스팅은 [인프런] 스프링 DB 1편 - 데이터 접근 핵심 원리을 강의를 바탕으로 공부하고 정리한 글입니다. 커넥션 풀이란? 웹 컨테이너(WAS)가 실행되면 일정량의 커넥션을 미리 만들어 pool에 보관했다가, 클라이언트 요청이 오면 자신이 가지고 있는 커넥션을 빌려주고 임무가 완료되면 다시 커넥션을 반납 받아 pool에 보관하는 프로그래밍 기법이다. 기존에 데이터베이스에 접근하기 위한 커넥션을 획득하기 위해서는 다음과 같은 과정을 거친다. 애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회 DB 드라이버는 DB와 TCP/IP 커넥션을 연결 (이때 3 way handshake 같은 TCP/IP 연결을 위한 네트워크 동작 발생) DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW 같은 부가정..
인터넷 TCP/IP라는 패킷 통신 유형의 네트워크 프로토콜을 이용해 전 세계 규모로 서로 연결한 거대한 컴퓨터 네트워크 현재 WWW(World Wide Web)나 전자 메일 같은 서비스가 주로 사용되고 있다. ISP(Internet Serivces Provider)라는 접속 사업자가 개인이 인터넷에 접속할 수 있도록 연결해준다. 인터넷에서는 각 네트워크를 서로 연결하는 라우터가 물통 릴레이처럼 패킷을 중계해 데이터를 주고 받는다. ISP Internet Services Provider의 약어 인터넷 연결을 제공하는 서비스 공급자 전화 회선이나 전용 회선을 사용해 일반 사용자의 요청을 받아 인터넷에 연결한다. 과거 : 아날로그 모뎀을 사용한 다이얼업 접속 방법 사용 최근 : ADSL, 광케이블과 같은 상시..