일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 개발자취업
- python
- JPA
- BFS
- 문자열
- Algorithm
- dfs
- 가상컴퓨팅
- Java
- dbms
- DB
- Queue
- 자바의정석
- 코테
- 크루스칼
- 암호학
- spring
- javascript
- 코딩테스트
- 알고리즘
- 항해99
- 생성자
- jsp
- 공개키 암호화
- data structure
- js
- generic class
- 코딩테스트준비
- sql
- 자료구조
- Today
- Total
목록JPA (3)
PLOD
※ 이 글은 '스프링 부트 쇼핑몰 프로젝트 with JPA' 책을 참고하여 적은 글입니다.지금처럼 이커머스를 기준으로 프로젝트를 진행할 때 장바구니(위시리스트)와 상품과 회원은 무조건 존재해야 될 엔티티이다.연관관계객체 지향 프로그래밍의 세계와 관계형 데이터베이스의 세계를 연결해주는 개념객체 간의 관계를 데이터베이스의 테이블과 매핑하기 위한 규칙과 방법을 제공연관관계 매핑의 종류는 다음과 같다일대일(1:1) : @OneToOne일대다(1:N) : @OneToMany다대일(N:1) : @ManyToOne다대다(N:M) : @ManyToMany엔티티를 매핑할 때는 방향성을 고려해야 한다. 테이블에서의 관계는 항상 양방향이지만, 객체에서는 단방향과 양방향이 존재한다.1. 단방향 연관관계단방향 연관관계는 한쪽에..
기존에 Controller 클래스에만 의존하여 모든 기능을 처리하도록 한다면 문제가 발생할 수 있다. 한 개의 클래스에 너무 많은 양의 코드가 존재하기 때문에 코드를 이해하기 어려움 → 가독성 떨어짐현업에서는 코드의 추가 혹은 변경 요청이 계속 생길 수 있다.문제가 발생했는데 해당 Controller 클래스를 구현한 개발자가 퇴사한다면? → 유지보수성 떨어짐 이러한 문제점들을 해결하기 위해 서버 개발자들은 서버에서의 처리과정이 대부분 비슷하다는 걸 깨닫고, 처리 과정을 크게 Controller, Service, Repository 3개로 분리하였다. Web Layer흔히 사용하는 Controller와 JSP / freemaker 와 같은 view 템플릿 영역이다Filter,Intercepter,Con..
JPAJPA는 자바 진영에서 ORM기술 표준으로 사용되는 인터페이스의 모음이다.기존의 JDBC는 SQL 의존적이라 변경에 취약하였다. 그리고 쿼리를 통해 직접 접근하는 방식이라 SQL 직접 변경해주어야 해서 수고스러웠다.이러한 점을 ORM 기반의 JPA가 해소할 수 있을 것이다. JPA를 통해 백엔드 개발자들은 쿼리 작성과 수정에 들이는 노력을 비즈니스 로직 개발에 힘쓸수 있게 되었다. ORM(Object-Relational Mapping) 애플리케이션 Class와 RDB(Relational DataBase : 관계형 데이터베이스)의 테이블을 매핑한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면 된다.ORM의 장점SQL 문이 아닌 메서드를 통해 데이터..