본문 바로가기

전체 글

(87)
영속성 컨텍스트, json 통신 @Transactional @PutMapping("/dummy/user/{id}") public User updateUser(@PathVariable int id, @RequestBody User requestUser) { System.out.println("id: "+id); System.out.println("password: "+requestUser.getPassword()); System.out.println("email: "+requestUser.getEmail()); User user = userRepository.findById(id).orElseThrow(()->{ return new IllegalArgumentException("수정에 실패하였습니다."); }); user.setPassw..
Json, RestController, 페이징 JSON은 왜 나왔고, 어떻게 사용하는가? 프랑스인, 일본인, 독일인이 한국인과 데이터를 교류한다면 한국인이 프랑스어, 일본어, 독일어를 배우는 것보다는 프랑스인과 일본인과 독일인이 한국어를 공부하는게 더 효율적이다. 하지만 한국인이 미국인으로 바뀌게 된다면? 통신이 중지된다. 따라서 모두가 사용할 수 있는 공용어를 정하고 그것을 모두가 공부하고 그것으로 통신을 하면 문제가 해결된다. 모든 사람들은 데이터를 전송 시에 자기나라 언어를 공용어(예: 영어)로 번역하고, 마찬가지로 모든 사람들은 데이터를 응답받을 때 영어를 자기나라 언어로 번역하는 것이 이상적인 프로토콜이 된다. 서로 다른 오브젝트는 이해할 수 없다. 자바데이터를 보내면 파이썬은 이해할 수 없다. 따라서 공용어를 만들게 되는데 이것을 Json..
JPA 테이블 생성하기, 연관 관계 JPA 테이블 생성하기 Blog 테이블 만들기 (user, board, reply 테이블) User 테이블 : 유저 Board 테이블 : 게시글 Reply 테이블 : 답변(댓글) 연관관계 만들기 더미 데이터 insert 본격적으로 DB의 테이블을 만들기 위해 스프링부트 패키지 이하에 model 패키지를 만들고 안에 User, Board, Reply 클래스를 만든다. model 패키지란? 테이블을 만들고 관리하기 위한 패키지이다. 모델 패키지의 테이블에는 User, Board, Reply가 있으며 모든 테이블엔 PRIMARY KEY가 있어야 한다. 테이블화 하기 위해서 Entity 어노테이션을 붙인다. PRIMARY KEY를 만들기 위해서 Id 어노테이션을 붙인다, PRIMARY KEY는 오라클의 시퀀스 ..