[KSUG Spring Boot Study] 데이터베이스 연동 들어가기 전
- 개발 지식/KSUG
- · 2025. 8. 17.
하이버네이트는 자바의 ORM 프레임워크로 JPA가 정의하는 인터페이스를 구현하고 있는 JPA 구현체 중 하나Spring Data JPAJPA를 편리하게 사용할 수 있도록 지원하는 스프링 하위 프로젝트 중 하나CRUD 처리에 필요한 인터페이스를 제공하며, 하이버네이트의 엔티티매니저(EntityManager)를 직접 다루지 않고 리포지토리를 정의해 사용함으로써 스프링이 적합한 쿼리를 동적으로 생성하는 방식으로 데이터베이스를 조작
JPA란?Java Persistence(영속성) API는 자바 진영의 ORM 기술 표준으로 채택된 인터페이스의 모음ORM이 큰 개념이라면 JPA는 더 구체화된 스펙을 포함 즉, JPA 또한 실제로 동작하는 것이 아니고 어떻게 동작해야하는지 메커니즘을 정리한 표준 명세로 생각하면 된다. JPA의 메커니즘은 내부적으로 JDBD를 사용JDBD 구현하면 SQL에 의존하는 문제 등이 있어 이 문제점을 보완하는 게 JPAJPA 기반의 구현체는 대표적으로 3가지
ORM이란?Object Relational Mapping의 줄임말로 객체 관계 매핑을 의미자바와 같은 객체지향 언어에서 의미하는 객체와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법 즉, 클래스를 의미클래스 → DB의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB 테이블과 어쩔 수 없는 불일치 발생ORM은 DB와 클래스 불일치 제약사항을 해결하는 역할 ORM → 쿼리문 작성이 아닌 코드(메서드)로 데이터 조작 가능ORM 장점ORM 사용 시 DB 쿼리를 객체지향적으로 조작 가능재사용 및 유지보수 편리DB에 대한 종속성 줄어든다ORM 단점ORM만으로 온전한 서비스를 구현하기에는 한계가 있다.애플리케이션의 객체 관점과 데이터베이스이 관계 관점의 불일치
내 책에서 mariadb를 homebrew로 설치한 적이 있었던 것 같음 그래서 한 번 check 해봐야됨% brew list | grep mariadbmariadb이렇게 뜨면 설치가 되어있는 거mysql 워크벤치에서 사진과 같이 스키마 만들기
로깅(logging)이란 애플리케이션이 동작하는 동안 시스템의 상태나 동작 정보를 시간 순으로 기록하는 것을 의미로깅은 개발 영역 중 → 비기능 요구사항에 속함사용자나 고객에게 필요한 기능은 아니라는 의미하지만 로깅은 디버깅하거나 개발 이후 발생한 문제를 해결할 때 원인을 분석하는데 꼭 필요한 요소자바 진영에서 가장 많이 사용되는 로깅 프레임워크Logbacklog4j 이후에 출시된 로깅 프레임워크로서 slf4j를 기반으로 구현됐으며, 과거에 사용되던 log4j에 비해 월등한 성능을 자랑spirng-boot-starter-web 라이브러리 내부에 내장돼 있어 별도의 의존성을 추가하지 않아도 사용할 수 있다.Logback 특징5개의 레벨 로그(TRACE, DEBUG, INFO, WARN, ERROR)ERRO..