본문 바로가기

java4

JPA를 활용한 join 구현과 Project Trouble Shooting 내일배움캠프 SPRING과정 진행중 팀프로젝트로 뉴스피드 프로젝트를 진행.문제의 시작우리의 사이트 컨셉은 스택오버플로우와 같은 개발 지식 공유 페이지로 정해서 진행하게 되었다.나는 게시글 API 에 대한 파트를 담당했다.게시글 전체 검색할 때 친구 추가한 사용자의 경우에 게시글, 댓글, 좋아요, 유저 정보 등 모든 테이블의 값들을 join해서 사용해야 했는데 jpa query에서는 join에 대한 것이 없어서 JPQL을 사용해서 쿼리를 직접 입력하여 진행하게 되었다. sql 문으로 바로 작성해서 사용하기 위해 nativeQuery = true 지정을 하여 조금더 편하게 사용 할 수 있게 하였다.nativeQuery = trueJPA에서 join을 구현할 수 있는 방법내가 찾아본 결과 jpa에서 join .. 2024. 11. 24.
[TIL/JAVA] AtomicInteger Arrays.stream()을 사용하며 내부에서 index값이 필요해 다른 반복문에서 사용하는 것처럼 아래의 코드로 처리 할려고 했는데 IDE에서 final 또는 atomic으로 사용하라는 에러 문구가 발생했다.int index = 0;Arrays.stream(arr).forEach((num) => { ... index++;}람다 표현식 내부에 사용되는 변수가 왜 final 형이어야 하는지 부터 찾아보자. Lambda람다 식이란? method와 비슷하지만 이름과 파라메터의 타입을 지정할 필요없이 사용 가능하다.(파라메터1, 파라메터2, ...) -> { // 하나의 명령문만 있을경우 중괄호를 생략할 수 있다.  }위와 같이 간결하게 사용이 가능하며 단 한 번만 사용된다. 지역변수와 람다람다의 경우 .. 2024. 10. 24.
[TIL/JAVA] try-catch문 무한 루프 내일 배움 캠프의 야구게임 프로젝트 진행 중 catch 문에 접근하게 되면 무한 루프에 빠지는 문제를 발견했다.내부에는 print와 scanner밖에 없었기에 더 이해가 안되서 찾아봤다.try { System.out.print("숫자를 입력해 주세요: "); inputResultNum = scanner.nextInt();} catch (Exception e) { System.out.println("숫자만 입력 가능합니다."); // 다시 재 입력을 받을 수 있도록 continue continue;} 찾아보니 scanner로 받은 값이 정상처리되지 않아 버퍼에 남아있게 되어 발생하는 문제였다.아래처럼 에러 발생 시 scanner를 초기화 시키니 문제가 해결 되었다.try { .. 2024. 10. 23.
[JAVA] 01 JDK(Java Development Kit) 역할compiler: .java -> .classJRE : Java Runtime Environment(자바 실행 환경)JDB : Java Debugger -> debuggingpublic static void main(String[] args)public/private : class 경로 외부에서 접근 가능 한지 여부 ( public : 실행 가능 )main method : java에서 가장 먼저 실행 됨static : 이 프로그램 실행 시 무조건 실행 -> 앱 실행 시 한번만 정의 OR static 끼리 호출 가능void: return 값이 없음String[] args: 매개변수public static void main(String[] args) { //.. 2024. 10. 8.