양방향 연관관계와 연관관계의 주인Team을 통해서도 getMemberList()로 특정 팀에 속한 멤버 리스트를 가져오고 싶다.객체 설계는 위와 같이 Member에서는 Team을 가지고 있고, Team에서는 Members를 가지고 있도록 설계하면 된다. DB를 보자. DB는 단방향 매핑때와 바뀌는게 없다. 왜냐. 둘을 join 하면 된다. DB는 방향이 없다!이 두가지가 큰 차이다.코드로 이해Member 엔티티는 단방향과 동일하다.@Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; private int age; @ManyToOne @JoinColum..
단방향 연관관계 매핑 이론객체지향 모델링객체 연관관계 사용해서 아래의 객체 참조와 테이블의 외래키를 매핑하는 방법 학습객체의 참조와 테이블의 외래 키를 매핑한다.외래 키 대신에 TEAM 객체를 넣고TEAM_ID를 매핑한다. @JoinColumn으로 조인 컬럼을 명시한다. 안적어도 default로 들어간다. 적어주는게 더 명시적이다.그리고 연관관계를 설정한다 @ManyToOne.하나의 Team이 여러개의 Member를 가지고 있다.그렇게 보면 TEAM 입장에서는 일대다,Member 입장에서는 다대일이다. @ManyToOne.이렇게 설정하면 Team 이라는 필드가 DB에 있는 TEAM_ID라는 FK와 매핑이 된다. 관계를 선언하고 조인할 컬럼을 매핑 했다.이것을 연관관계 매핑이라고 한다. ORM 매핑!!!!..
1. 스프링 IoC 컨테이너와 빈Inversion of Control의존 관계 주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입 받아 사용하는 방법을 말함.스프링 IoC 컨테이너BeanFactory스프링 프레임워크의 중요한 인터페이스애플리케이션 컴포넌트의 중앙 저장소빈 설정 소스로부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다.Bean - 빈스프링 IoC 컨테이너가 관리 하는 객체장점의존성 관리의존성 관리를 할 수 없다고 생각해보자예를 들어, 서비스 객체 내에서 Repository 의존성을 직접 만들어서 사용하는 경우, 서비스 단의 단위 테스트를 독립적으로 작성하기가 힘들다.의존성을 주입 받을 수 있기 때문에 객체(Rep..
스프링 REST 클라이언트스프링 부트가 REST 클라이언트 관련해서 직접적으로 기능을 제공하는 것은 아니다. REST 클라이언트는 Spring Framework에서 제공하는 것이고, 부트는 그걸 쉽게 사용할 수 있도록 빈을 등록해준다.주의 할 것은 RestTemplate과 WebClient 두 타입의 빈을 등록해주는 것이 아니라, 빌더를 등록해준다. 그래서 우리는 빌더를 주입받아서 필요할 때마다 REST 클라이언트를 빌드해서 사용해야한다.RestTemplate과 WebClientREST 클라이언트를 사용하는데에 두가지 선택사항이 있다. 차이점은 아래와 같다.RestTemplateBlocking I/O 기반의 Synchronous APIBlocking I/O 기반의 Synchronous 개념을 이해하기 위..
스프링 시큐리티웹 시큐리티메소드 시큐리티다양한 인증 방법 지원LDAP, 폼 인증, Basic 인증, OAuth, ...1. 스프링 부트 시큐리티 자동 설정spring-boot-starter-securitySecurityAutoConfiguration.class 설정파일 참조스프링 시큐리티가 의존성으로 등록되어 있으면,DefaultAuthenticationEventPublisher가 @Bean으로 등록된다.@Configuration @ConditionalOnClass(DefaultAuthenticationEventPublisher.class) @EnableConfigurationProperties(SecurityProperties.class) @Import({SpringBootWebSecurityConfi..
Spring Data JPA와 QueryDSLJPA 기반 프로젝트Spring Data JPAQueryDSLSpring Data JPA지루하게 반복되는 CRUD 문제를 세련된 방법으로 해결개발자는 인터페이스만 작성한다스프링 데이터 JPA가 구현 객체를 동적으로 생성해서 주입스프링 데이터 JPA 적용 전public class MemberRepository { public void save(Member member) {...} public Member findOne(Long id) {...} public List findAll() {...} public Member findByUsername(String username) {...} }public class ItemRepository { public void ..
- Total
- Today
- Yesterday
- 알고리즘
- 젠킨스
- JPA
- vuejs
- vuex
- RBT
- 자바
- Recursion
- Raspberry Pi
- Vue.js
- 한밭대학교
- Algorithm
- 라즈베리파이
- Spring
- 정렬
- ORM
- 무선통신소프트웨어연구실
- 인프런
- 시간복잡도
- Wisoft
- Spring Boot
- 스프링부트
- springboot
- 한밭이글스
- Java
- github
- AWS
- 레드블랙트리
- 순환
- IT융합인력양성사업단
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |