일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- appleM1
- spring
- offset
- Lombok
- DB생성
- gradle
- CloutNative
- SQL
- 우분투에war배포
- MYSQL에러
- springMVC
- frontend
- VUE
- pagination
- minikube
- Postman
- K8S
- MySQL시작하기
- SpringBoot
- Java
- Seek_Keyset
- windows10
- 이클립스
- 스프링에러
- NullPointerException
- restful api
- String
- MySQL
- wappalyzer
- intellij
- Today
- Total
목록Spring & Spring Boot/Spring (7)
미운 오리 새끼의 우아한 개발자되기
상속 관계 매핑: 객체의 상속 관계를 DB 에 어떻게 매핑하는지 다룸. @MappedSuperclass: 여러 엔티티에서 공통으로 사용하는 매핑 정보만 상속받고 싶을 때 사용. 복합 키와 식별 관계 매핑: 식별자가 하나 이상일 때 매핑하는 방법과 DB 에서 말하는 식별관계와 비식별 관계에 대해 다룸. 조인 테이블: 외래 키로 연관관계를 맺을 수 있지만, 연관관계를 관리하는 연결 테이블을 두는 방법에 대해 다룸. 엔티티 하나에 여러 테이블 매핑하기: 보통 엔티티 하나에 한 테이블을 매핑하지만 엔티티 하나에 여러 테이블을 매핑하는 방법을 다룸. 1. 상속 관계 매핑 보통 BD 에는 상속이라는 개념이 없고, '슈퍼타입 서브타입 관계'라는 모델링 기법이 객체의 상속 개념과 가장 유사하다. ORM 에서 말하는 상..
일대일 관계는 양쪽이 서로 하나의 관계를 가진다. 예를 들어 회원은 하나의 사물함을 가지고, 사물함은 하나의 회원에 의해 사용된다. 고로, 일대다와 다대일에서 항상 다(N) 쪽이 FK 를 가졌으나, 일대일 관계에서는 FK 가 어디에 있든 상관없다. 주(main) 테이블이든 대상 테이블이든 FK 하나만 있으면 양쪽을 조회할 수 있다. 1.1. 주 테이블에 외래키 아래는 일대일 단방향, 주 테이블에 외래키가 있는 예제 코드이다. @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private String username; @OneToOne @JoinColumn(name = "LOCKER_I..
일대다 관계는 다대일 관계의 반대방향이다. 1.1. 일대다 단방향 [1:N] 하나의 팀(1)은 여러 회원(N) 을 참조할 수 있음 -> 일대다 그리고 팀은 회원을 참조하지만, 회원은 팀을 참조하지 않음 -> 단방향 근데 일대다 단방향이 특이한 점이, DB 테이블에서 FK 는 항상! 다 쪽에서 관리를 한다. 근데 이 경우는 단방향이기 때문에 다 쪽인 Member에서는 FK 를 관리할 필드가 없다. 그래서 일 쪽에서 다 쪽의 FK 를 관리해야하는 특이한 모습이 나타난다. @Entity public class Team { @Id @GeneratedValue @Column(name = "TEAM_ID") private Long id; private String name; @OneToMany @JoinColumn..
엔티티의 연관관계를 매핑할 때 주의할 사항 3가지 다중성 - 다대일, 일대다, 일대일, 다대다 단방향, 양방향 연관관계의 주인 1. 다대일 다대일 관계의 반대방향은 항상 일대다 관계다. DB 테이블의 일(1) 대 다(N) 관계에서 외래 키는 항상 다(N) 쪽에 있다. 따라서 객체 양방향 관계에서 연관관계의 주인은 항상 다(N) 쪽이다. 1. 1. 다대일 단방향[N:1] @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private String id; private String username; // 연관관계 매핑 @ManyToOne // 다(Member)대일(Team) @JoinColumn(name = "TEAM_..
1. 양방향 연관관계 양방향 연관관계란 다음과 같다 회원 -> 팀 팀 -> 회원 2. 양방향 연관관계의 매핑 @Entity public class Member { @Id @Column(name = "MEMBER_ID") private Long id; private String username; // 연관관계 매핑 @ManyToOne // 다(Member)대일(Team) @JoinColumn(name = "TEAM_ID") // 외래키를 매핑할 때 쓰는 annotation. 매핑할 외래키 이름을 씀 private Team team; // 연관관계 설정 public void setTeam(Team team) { this.team = team; } // Getter, Setter... } @Entity pub..
1. 연관관계 매핑을 이해하기 위한 기초 방향(Direction): [단방향, 양방향] 다중성(Muliplicity) : [다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M)] 연관관계의 주인(Owner): 객체를 양방향 연관관계로 만들려면 연관관계의 주인을 정해야함 2. 단방향 연관관계 객체 연관관계 vs. 테이블 연관관계 객체는 참조(Reference)로 연관관계를 맺음 -> 참조를 통한 연관관계는 언제나 단방향임. 즉, 양뱡향이라는 것도 서로 다른 단뱡향 2개를 양방향으로 보이게 만드는 것 테이블은 외래 키(Foreign Key)로 연관관계를 맺음 // 단방향 class A { B b; } class B { } // 양방향 class A { B b; } class B { A a; ..

1. Client가 Server에게 요청(Request)을 보내면 Dispatcher Servlet이 이 요청을 가로챔 2. Dispatcher Sevlet은 Handler Mapping에게 어떤 컨트롤러로 이 요청을 보내야 할 지 물어봄 3. 매핑된 메서드가 있는 Controller가 있다면 Handler Mapping이 이를 Dispatcher Servlet에게 넘김 4. 해당 Controller는 해당 요청을 처리할 비즈니스 로직이 담긴 Service를 주입(Dependency Injection) 받아 비즈니스 로직을 Service에게 위임 -> Service가 비즈니스 로직을 처리함(DB접근 등) -> 모든 비즈니스 로직을 끝낸 Service는 결과물을 Controller에게 줌. 5. 결과물을 ..