project 진행 중 entity를 save() 할 경우 해당 테이블 컬럼의 값이 null로 저장되는 문제가 발생하였다.처음에는 private Integer likesCount = 0; 처럼 해당 필드에 초깃값을 설정해주려 했으나 entity를 새로 생성 시 값이 다
project 에서 사진을 업로드 기능을 만들어야 해서 사진을 저장하는 여러방법 중 AWS S3에 업로드 하고 url만 DB에 저장하는 방식을 선택하였다.※ 이 포스트는 AWS 계정이 있고 S3 설정까지 했다는 전제하에 작성하였습니다.build.gradleimpleme
COALESCE 사용해서 null일 경우 두번째 파라미터 값을 리턴한다.@Query("select COALESCE(sum(r.dogCount),0) from Reservation r where r.companyId = :companyId"
.gitignore에 제대로 작동하지 않아 .gitignore에 올려둔 파일이 git에 올라갈 때가 있다.이럴 때는 git의 캐시를 싹다 날려 주고 다시 git add .후 commit 하면 된다.
Aws S3를 이용해 이미지 업로드 기능을 구현하던 중 아래와 같은 로그가 발생했다.WARN c.a.services.s3.AmazonS3Client:1714 - No content length specified for stream data. Stream contents
메인 프로젝트 도중 mapper 대신 converter를 이용해보라는 조언을 얻게 되어 converter를 도입해보기로 하였다.먼저 converter 인터페이스를 만들었다.이후 converter가 필요한 도메인에 implements 하였다.
메인 프로젝트 진행하던 도중 고객이 선택한 기간에 예약이 다 찼는지 확인하는 로직을 짜야 했었다.처음엔 단순히 기간에 해당하는 예약들을 찾아 예약된 강아지의 수들을 합치기만 하면 된다는 생각으로 jqpl을 이용하여 강아지 수의 합을 구했다.위의 쿼리문으로 기간 내에
예전에는 JpaRepository는 엔티티로만 조회가 가능하다고 생각하였다.하지만 엔티티에서 꼭 필요한 값 들만 조회하고 싶을 때는 DTO를 이용하여 조회가 가능하다는 사실을 알게되었다.먼저 조회용 DTO를 하나 만든다.이후 repository에 jpql을 이용하여 조
메인 프로젝트에서 게시글 create시 bulk insert가 필요해saveAll 대신 List로 한번에 saveAll을 사용했다.하지만 의도와 다르게 한번에 insert되지 않고 insert쿼리가 여러번 날아갔다.1\. Batch-size 설정application.y
컨트롤러에 대해 @ExceptionHandler, @InitBinder, @ModelAttribute가 적용된 메소드에 AOP를 적용되기 위해 고안되었다. 여러 컨트롤러에 전역적으로 ExceptionHandler를 적용해준다. 여기서 @ExceptionHandler는