JPA 37

🚨ERROR - com.amazonaws.SdkClientException: Failed to connect to service endpoint:

🏕️상황 2023-07-25 10:31:09.949 WARN 156 --- [ main] com.amazonaws.util.EC2MetadataUtils : Unable to retrieve the requested metadata (/latest/meta-data/instance-id). Failed to connect to service endpoint: com.amazonaws.SdkClientException: Failed to connect to service endpoint: at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) ~[aws-java-sdk-core-1.11.792.jar:n..

[개발]🚨ERROR - com.amazonaws.services.s3.model.AmazonS3Exception: The bucket does not allow ACLs

🏕️상황 2023-07-25 13:19:52.009 ERROR 19808 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.amazonaws.services.s3.model.AmazonS3Exception: The bucket does not allow ACLs (Service: Amazon S3; Status Code: 400; Error Code: AccessControlListNotSupp..

[Spring boot] s3 이미지 업로드 구현(초안)

🏕️기존 상황 이미 S3 버킷은 만들어져 있는 상황이었고 모든 권한을 가진 iam 유저도 1명 있는 상태였다. 그 상황에서 더 추가적으로 필요한 것들을 추가해서 개발하였다. 🔺S3연동을 위해 해당 권한만 별도로 가진 유저를 생성 노란색 박스처럼 S3 권한을 가진 전용 iam 유저를 [highWay_S3_user]라는 이름으로 생성. 핑크색 박스의 권한을 부여하여 유저를 생성. (S3에 대한 전체 권한을 허용하는 것이기 때문에 추후 더 보안에 신경 쓸 수 있는 권한을 도입예정) 🔺build.gradle //aws implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' 🔺application.properties # S..

[개발] Querydsl을 사용하여 학교 좋아요 리스트 반환하기

유저의 토큰을 header에 넣으면 해당 유저가 누른 좋아요 id (heart 테이블) 좋아요 한 학교의 schoolId (heart 테이블) 좋아요 누른 학교의 이름 (school 테이블) 좋아요 누른 학교의 학생수 (user 테이블) 🔜 우리 웹 사이트에 있는 해당 학교의 유저수를 의미함. 🔜 user정보에 재학 중인 schoolId가 있음. 좋아요 누른 학교의 태그 (tag 테이블) 🔜 지난번에 포스팅 했지만 tag테이블과 school 테이블은 조인 관계를 맺고 있지 않다. 매개변수로 userId가 들어온다, 그 heart 테이블에 있는 Id 값과 schoolId 값을 차례대로(쌍으로) 조회한다. 그 schoolId를 가지고 school 테이블에서 schoolName을 조회한다. 그 schoolId..

[개발] Querydsl를 사용하여 원하는 정보 조회/반환하기(Refactoring)

🏕️상황 https://grogrammer.tistory.com/53 [개발] Querydsl, DSL를 사용하여 원하는 정보 조회/반환하기(코드분석) 🏕️상황 //school 리스트를 반환하는 메소드 //school_tb : id와 schoolName, tag_tb : name(태그명), user_tb : schoolId를 counting. 총 3개의 테이블을 조인하여 반환 public List findSchoolInfoWithTagsAndUserCount() { JPAQueryFac grogrammer.tistory.com school의 list를 반환하는 메서드에 반환 값이 까다로워서 코드가 좀 복잡해지고, 기능이 정상적으로 작동하니 일단 깃랩에 업로드하였다. 하지만 for문 안에 sql문이 있었고..

[개발]🤦🏻‍♀️고민하기 - Querydsl 사용 시 클래스 구조(repository, service)

🌦️기존상황간단하게 구조도를 그려봤다.그리고 보니 querydsl을 사용한 메서드를 기준으로 보면 repository와 전혀 관계를 맺고 있지 않다. querydsl을 사용하니 JPA메소드도 사용하지 않기 때문이다.service에다가 querydsl을 적어놓은 이유는 service 단에 늘 함수들을 구성해 놓았기 때문이다!! ⛅과정같은 백엔드 팀원에게 해당 구조에 대해 문제점을 제기받았다. 처음에는 굳이..? 싶었다. 괜히 복잡하게 클래스만 늘어나는 거 같아서 의문스러웠다.그런데 알아보니 나처럼 service단에서 querydsl을 쓰는 경우는 거의 없는 거 같았다.^^ 더 나은 코드를 위해서라면 더 이상 고민할 이유가 없었다.☀️해결schoolRepository가 JPARepository, Schoo..

[개발] 🚨ERROR - org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException:

한이음 프로젝트 Review의 CRUD를 만드는 과정 중.... (오류잡느라 빠바서 오류 메세지를 직접 캡쳐하지는 못함) 🛤️현상 : org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation: "CONSTRAINT_C3: PUBLIC.REVIEW_TB FOREIGN KEY(SCHOOLID) REFERENCES PUBLIC.SCHOOL_TB(ID) (CAST(1 AS BIGINT))"; SQL statement: insert into review_TB (id, author, cafeteriaRate, content, educationRate, employmentRate, facilit..