-
스프링부트 with JPA 블로그 8강 - 테이블 생성하기스프링부트 with JPA 블로그 2020. 5. 10. 23:19
1. Blog 테이블 만들기 (User, Board, Reply)
2. 연관관계 만들기
@ManyToOne
@OneToMany
@OneToOne
@ManyToMany
ManyToMany는 사용하지 않는다. 그 이유는 서로의 primary key로만 중간 테이블을 생성해주는데, 날짜나 시간 다른 필드들이 필요할 수 있기 때문에, 내가 중간 테이블을 직접만들고 @OneToMany, @OneToMany를 사용한다.
https://ict-nroo.tistory.com/127
[JPA] @ManyToMany, 다대다[N:M] 관계
다대다[N:M] 실무에선 사용하지 않는 것을 추천한다. 사용하면 안되는 이유를 학습하자. 관계형 데이터베이스는 정규화된 테이블 2개로 다대다 관계를 표현할 수 없다. 연결 테이블(조인 테이블)�
ict-nroo.tistory.com
3. 더미 데이터 insert
@DynamicInsert insert할때 null 인 필드 제외
4. 더미 데이터 select 및 응답
User user = userRepository.findById(id).orElseThrow(new Supplier<IllegalArgumentException>() { @Override public IllegalArgumentException get() { return new IllegalArgumentException("해당 사용자가 없습니다."); } });
@PageableDefault(size=2, sort="id", direction = Sort.Direction.DESC) Pageable pageable
5. 더미 데이터 update
https://ict-nroo.tistory.com/130
[JPA] 영속성 컨텍스트와 플러시 이해하기
영속성 컨텍스트 JPA를 공부할 때 가장 중요한게 객체와 관계형 데이터베이스를 매핑하는 것(Object Relational Mapping) 과 영속성 컨텍스트를 이해하는 것 이다. 두가지 개념은 꼭 알고 JPA를 활용하자.
ict-nroo.tistory.com
6. 더미 데이터 delete
7. 무한 참조 방지하기
(1) Entity로 받고 Json직렬화 하기 전에 DTO 생성후 복사하기
BeanUtils.copyProperties(A,B)
(2) 처음부터 DTO로 DB에서 받기
(3) @JsonIgnore
(4) @JsonIgnoreProperties({"board"})
(5) @JsonBackReference @JsonManagedReference
참고
https://dublin-java.tistory.com/32
JPA Entity를 JSON으로 변환할 때 발생할 수 있는 문제점과 해결방법
이번에 프로젝트를 진행하면서 엔티티를 json으로 변환 후에 view로 전달해주는 과정에서 문제가 발생했었습니다. 일단 결론부터 말씀드리자면 DTO를 따로 만들어서 서비스에서 엔티티 대신 DTO를
dublin-java.tistory.com
'스프링부트 with JPA 블로그' 카테고리의 다른 글
스프링부트 with JPA 블로그 10강 - 화면구현 (3) 2020.05.20 스프링부트 with JPA 블로그 9강 - Json 데이터로 통신하기 (1) 2020.05.10 스프링부트 with JPA 블로그 7강 - Lombok 세팅하기 (Maven설명) (0) 2020.05.10 스프링부트 with JPA 블로그 6강 - yaml 설정 (1) 2020.03.15 스프링부트 with JPA 블로그 5강 - HTTP1.1 체험하기 (0) 2020.03.15