Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 알고리즘
- 아규먼트 리졸버
- Gradle - Kotlin
- restful 카멜케이스
- springboot mysql
- 파이썬
- 쿼리에러
- initializr
- create 모드
- intellij 속도 향상
- 데이터베이스
- sendError()
- logout http 메소드
- 할일관리
- auto ddl
- 터미널 실행
- 테이블항목
- 연관관계
- 테이블구성
- restful api 작성 방법
- jpa 연관관계
- jpa
- restful api 명세서
- Gradle - Groovy
- SpringBoot개인프로젝트
- 어노테이션
- springboot
- restful login 메소드
- Intellij terminal jar
- ERD 수정
Archives
- Today
- Total
리나 Dev토리
WIL. 스프링 주특기 1주차 본문
스프링 주특기 1주차
팀과제 중에 몇개 질문을 정리해보았다.
JPA 가 무엇인가요?
- JSP에서는 JDBC를 이용해서 DB랑 데이터를 주고 받았는데, JPA를 이용하면 JPA가 JDBC API를 사용해서 DB랑 데이터를 주고 받는다.
- JPA가 엔티티(개체)를 받으면, 그 엔티티를 분석해서 SQL 쿼리를 생성해서 DB에 날려줌
- 같은 트랜잭션 안에서 같은 데이터를 찾으면 쿼리를 다시 안날리고, 캐시에 있는 것을 반환함
Controller, Service, Repository 가 무엇인가요?
- Controller : 서버로 들어오는 API 요청 수신, 적절한 세부 컨트롤러에게 작업을 위임
- Service : DB처리를 위해 DAO를 이용하여 데이터를 요청하는 등 비즈니스 로직 수행
- Repository : Spring Data JPA의 모듈로 매우 적은 코드로 DAO를 구현할 수 있게 하는 인터페이스
ORM, JPA, Spring Data JPA 를 구분해서 설명해 보세요.
- ORM
- Object-relational mapping, 객체와 관계형 데이터베에스의 관계를 매핑해주는 것
- Object 필드 ← 매핑 → DB Data
- SQL쿼리가 아닌 메소드로 데이터를 저장, 조회 등 조작 - JPA
- JAVA에서 ORM 기술 표준으로 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스의 모음,
- 인터페이스라 실제로 구현된 것이 아니라, 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크
- JPA를 구현한 대표적인 오픈 소스는 Hibernate가 있음 - Spring Data JPA
- JPA를 쉽고 편하게 사용할 수 있게 하는 Spring 모듈, 바로 Repository
- Repository
: JPA를 한 단계 추상화시킨 인터페이스
: 사용자가 Repository인터페이스에 정해진 규칙대로 메소드를 입력하면,
Spring이 알아서 해당 메소드 이름에 적합한 쿼리를 날리는 구현체를 만들어서 Bean으로 등록함
참고
https://velog.io/@heoseungyeon/JPA-vs-Spring-Data-JPA
https://velog.io/@jybin96/Controller-Service-Repository-가-무엇일까
'SpringBoot' 카테고리의 다른 글
Intellij 어플리케이션 실행 시작시간 줄이는 방법 (0) | 2023.04.20 |
---|---|
Intellij - terminal창에서 java -jar 실행시 UnsupportedClassVersionError 버전 에러 (0) | 2022.12.13 |
intellij 스프링부트 프로젝트 생성시 Type에 Gradle - Groovy, Gradle - Kotlin 무얼 선택해야 할까? (0) | 2022.11.25 |
Comments