자바 ORM 표준 JPA 프로그래밍 - 기본편 김영한님 강의듣고 정리하기 1. 값 타입 JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능 값 타입 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 있으므로 변경시 추적 불가 예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체 값 타입 분류 기본값 타입 (int, double, Integer, Long 등) 임베디드 타입 컬렉션 값 타입 임베디드 타입 새로운 값 타입을 직접 정의할 수 있다. 주로 기본 값 타입을 모아서 만들어서 복합 값 타입이라고도 한다. @..
자바 ORM 표준 JPA 프로그래밍 - 기본편 김영한님 강의듣고 정리하기 1. 다양한 연관관계 매핑 연관관계 매핑시 고려사항 3가지 다중성 다대일 : @ManyToOne 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany 단방향, 양방향 테이블 : 외래키 하나로 양쪽 조인 가능, 사실 방향이라는 개념이 없음 객체 : 한쪽만 참조하면 단방향, 양쪽이 서로 참조하면 양방향 연관관계의 주인 연관관계의 주인 : 외래키를 관리하는 참조 주인의 반대편 : 외래키에 영향을 주지않음, 단순조회만 가능 다대일 [N:1] 다대일 단방향 - 가장 많이 사용하는 연관관계 다대일 양방향 - 외래키가 있는 쪽이 연관관계의 주인, 양쪽을 서로 참조하도록 개발 일대다 [1:N] 일대다 단방향 ..
내용 5주차는 주특기 심화주차로 지난주에 했던 스프링 기본과제 CRUD에 이어서 스프링 시큐리티를 사용한 회원가입 로그인을 구현하는 과제를 진행하였다. 시큐리티에 기능을 사용해 로그인과 로그아웃을 구현하였고 세션과/쿠키 기반으로 시큐리티에서 지원하기 때문에 그걸 그대로 사용하였다. 회원가입할때 validation을 확인하는 과정을 백엔드쪽 어노테이션을 활용해 정규식으로 체크해주고 만약 에러가 있을시 bindingResult에 담아서 다시 프론트엔드로 보내주는 과정을 유효성검사를 진행하였다. 스프링 템플릿 엔진 타임리프를 사용하였고 타임리프 문법에 대해서 많이 알게되었다. 그리고 페이징 처리를 위해 JPA에서 지원하는 Pageable을 사용하여 페이징처리와 sort처리를 해줬다. 스프링 시큐리티와 유효성검..
내용 4주차는 주특기주차로 리액트/리액트네이티브/스프링/노드 4개중에 한 개의 주특기를 선택하여 첫 주는 주특기 기본, 두번째 주차는 주특기 심화를 배운다. 나는 주특기로 스프링을 선택하여서 금토일에는 스파르타코딩클럽 웹개발의 봄, Spring 강의를 보았고 월화수목은 과제로 CRUD 게시판 구현하는 과제를 진행하였다. 강의를 볼 때는 Spring이 어떻게 진행되는지 감이 잘 안잡혔는데 월요일부터 직접 구현해보면서 Spring MVC가 어떤식으로 작동하는지 감을 잡게 되었고 팀원들과 모르는 부분을 상의하면서 진행하다보니 잘 진행이 되었던것 같다. 저번주차 까지 힘들었던 알고리즘 주를 끝내고 이제 스프링을 시작하게 되어서 기쁘고 오랜만에 스프링을 다시 보는거라 더욱 열심히 공부해야겠다고 느꼈다. 웹개발의 ..