일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인텔리제이
- Filter
- jpa에러
- JPA
- Q 클래스
- Spring Spring boot 차이
- git
- REST API 규칙
- queryDSL
- json
- ERD 작성
- json gson 차이
- 빈생성안됨
- 1차캐시
- 스프링부트오류
- REST란
- 복합키
- Unsatisfied dependency
- JoinColumn
- jwt메서드
- JPA주의사항
- jpa회원가입
- Error creating bean with name
- 스프링 부트 기능
- uncheck Exception
- 최종 프로젝트
- spring서버
- @IdClass
- github
- 스프링 부트 공식 문서
- Today
- Total
목록2023/06/21 (8)
Everyday Dev System
JSON은 Java Script에 있는 타입이므로, Java 언어로 바로 읽을 수 없습니다. 또한, JSON은 텍스트 기반이므로 어떠한 프로그래밍 언어에서도 JSON 데이터를 읽고 사용할 수 있습니다. HTTP에서는 전송 계층 프로토콜로 TCP를 사용하고, 네트워크 계층 프로토콜로 IP를 사용하는데 이를 합쳐 TCP/IP라고 부른다. JSON은 XML의 대안으로서 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 고안되었습니다. XML보다 JSON이 더 가볍다. 자세한 내용은 아래와 같습니다. 예전에는 xml이 널리 데이터를 전송할 때 이용되었으나, Json은 xml에 비해 가볍다는 특징으로 주목받았습니다. 또한, 이러한 가볍다는 장점으로 모바일 어플리케이션 중심인 요즘에 굉장히 플러스 요인으로 자리했습니다..
백엔드 개발자가 가장 많이 다루는 것은 REST API 이다. 그러므로, REST API에 대해서 심도있게 학습할 필요가 있다. 기본기를 탄탄하게 갖춘 백엔드 개발자가 되기 위한 가장 기본적인 필수 요소이다. API는 Client와 Server 사이의 인터페이스이다. API는 다른 SW 시스템과 통신하기 위해 따르는 규칙을 정의한다. REST 아키텍처 스타일을 따르는 API를 REST API 라고 하며, 해당 REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스 라고 한다. 서버의 API가 HTTP를 준수하여 잘 설계되어 있다면 RESTful 하게 설계되었다고 볼 수 있다. RESTful하게 잘 짜여있는 오픈소스들의 API를 참고하는게 가장 좋음. 위에 내용은 정말 얉은 내용이고, 아래 re..
N : M 양방향 관계에서 중간 테이블 직접 생성하면 된다. Order.java 를 [entity] 내에 생성한다. package com.sparta.jpaadvance.entity; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter @Table(name = "orders") public class Order { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne @JoinColumn(name = "food_id") private Food food; @ManyToOne @JoinCol..
중간에 생긴 orders 테이블에 PK도 없고 직접 생성한 것이 아니라 자동으로 생긴 테이블이므로 추가 변경 사항이 발생할 경우 관리하기가 힘들다는 단점이 있다. 위의 단점을 해결할 수 있는 방법 다음 링크 참조: 단방향 이전 글 참조: 2023.06.21 - [내배캠 주요 학습/Spring 심화] - @ManyToMany 단방향 관계 이해하기 N : M 관계 양방향 전체 Code : package com.sparta.jpaadvance.entity; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; import java.util.ArrayList; import java.util.List; @Entity @Getter @S..
N : M 관계 단방향 코드: package com.sparta.jpaadvance.entity; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter @Table(name = "food") public class Food { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private double price; @ManyToMany @JoinTable(name = "order..
1대다 관계 말고는 일반적으로 외래키는 외래키의 주인이 DB에 갖고 있다. 1대다 관계에서 외래키의 주인이 외래키를 갖고 있지 않으니까 추가적인 update문이 발생한 것이다. 1대 N 관계 단방향 1대 N관계 에서는 1의 주인이 외래키의 주인이다. 외래키의 주인은 음식 Entity이지만, 실제 DB 테이블에는 외래키를 고객이 가지고 있는 형태이다. 외래키의 주인인 음식 Entity 외래키 필드이다. Food가 1의 관계이기 때문에 고객 Entity를 여러명을 표현하기 위해서 Java Collection인 List 활 @OneToMany @JoinColumn(name = "food_id") private List userList = new ArrayList(); @JoinColumn(name = "foo..
자세한 내용은 이전 글을 참조: 2023.06.21 - [내배캠 주요 학습/Spring 심화] - 단방향 , 양방향 외래키 활용 단방향 더보기 [entity] - Food.java package com.sparta.jpaadvance.entity; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter @Table(name = "food") public class Food { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private double price; @Ma..
Validation, entity, 1:1 / 1:다 / 다:1 관계는 주특기 숙련주차 핵심 키워드인만큼 집중해서 들어주세요! - 외래키의 주인은 테이블에 실제 존재하는 FK의 위치이다. - 양방향일 때 FK의 주인이 누구인지 알려줘야 한다. -> 외래키의 주인이 아닌 쪽에서 mappedBy를 통해 주인을 지정한다. - mappedBy의 속성값은 외래키 주인인, 상대 Entity에 있는 필드명을 의미한다. - 외래키의 주인만이 외래키를 등록 및 삭제 추가 가능하다. 단방향의 경우엔 외래키의 주인만 상대 Entity 타입의 필드를 가진다. 양방향의 경우엔 외래키의 주인은 상대 Entity 타입의 필드를 가지면서, 상대 Entity는 외래키의 주인의 타입의 필드를 가지면 mappedBy를 통해 주인을 지정한..