0503 수업 내용
findAll== 저장된 데이터 전체 조회
findById== 저장된 ID 값 조회
Optional<>= NULL 값을 허용하는 것 / List<>는 널값 허용 X
findBySubject == 서브젝트 값 조회
findBySubjectAndContent == 서브젝트,컨텐츠 데이터 조회
findBySubjectLike== 서브젝트에 특정 문자열이 포홤된 데이터 조회
isPresent == 값이 있는지 확인
질문 데이터 수정
Optional oq = this.questionRepository.findById(1);
//oq 옵셔널 객체에 1번 아이디를 가진 퀘스쳔 데이터 삽입
assertTrue(oq.isPresent());
// 위에 번호를 불러올 수 있는지 없지(진실거짓) 판단
Question q = oq.get();
// 퀘스쳔 q 는 op.get();
q.setSubject("수정된 제목");
//q 에 서브젝트를 "수정된 제목" 으로 수정
this.questionRepository.save(q);
// 수정된 q 를 퀘스쳔 리포리터지에 저장
질문 데이터 삭제
assertEquals(1, this.questionRepository.count());
// 카운트 (로우 ) 갯수 2개 TRUE 통과
// Optional oq = this.questionRepository.findById(1);
// ID 1번을 oq 객체에 넣는다
// assertTrue(oq.isPresent());
// 존재하면 참. 실행
// Question q = oq.get();
// get 을 통해 모든 데이터를 가져오고 q에 받는다.
this.questionRepository.delete(this.questionRepository.findById(2).get());
// q 를 델리트로 넘긴다.
assertEquals(0, this.questionRepository.count());
// 삭제가되고 로우 개수가 1개가 되었는지 확인하는 부분
답변 데이터 생성
Optional oq = this.questionRepository.findById(4);
// 퀘스쳔 4번글 데이터를 oq 에 저장
assertTrue(oq.isPresent());
Question q = oq.get();
//q 에 oq의 모둔데이터 확인
Answer a = new Answer();
// 엔서 타입 a 선언
a.setContent("네 자동으로 생성됩니다.");
//a 컨텐츠를 '네 자동으로 생성됩니다.' 로 초기화
a.setQuestion(q); // 어떤 질문의 답변인지 알기위해서 Question 객체가 필요하다.
a.setCreateDate(LocalDateTime.now());
this.answerRepository.save(a);
답변 데이터 조회
Optional oa = this.answerRepository.findById(1);
// 1번 답변을 oa 에 부여
assertTrue(oa.isPresent());
Answer a = oa.get();
// 답변 데이터 전체를 a에 저장
assertEquals(4, a.getQuestion().getId());
// a 답변의 질문넘버가 4번이 맞는지 확인
a.getQuestion()
답변에 연결된 질문 조회
void testJpa() {
Optional oq = this.questionRepository.findById(4);
// 질문 4번을 oq 에 삽입
assertTrue(oq.isPresent());
// oq 에 데이터값이 있는지 확인
Question q = oq.get();
// oq 의 데이터를 전체조회
List<Answer> answerList = q.getAnswerList();
// q에 넣은 질문의 질문리스트를 앤서리스트에 넣음.
assertEquals(1, answerList.size());
// 앤서리스트의 사이즈가 1인지 확인
assertEquals("네 자동으로 생성됩니다.", answerList.get(0).getContent());
// 앤서리스트의 컨텐츠가 '네 자동으로 생성됩니다.'가 맞는지 확인