일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA
- Git
- responsepart
- 부트캠프
- spring
- DOCS
- 커밋 컨벤션
- PDF병합
- PDFBOX
- 제작기
- 연관관계
- 스프링부트 쇼핑몰 프로젝트
- 프로그래머스
- spring jpa
- 테킷
- querydsl
- 값 타입
- springboot
- Hibernate
- Visual Basic
- orm
- 체인호출
- 코딩테스트
- VB
- 알고리즘
- break-label
- Java
- 멋쟁이사자처럼
- 반복문 탈출
- GitFlow
- Today
- Total
목록프로그래밍 (30)
섭섭한 개발일지
프로젝트 본격적인 개발에 앞서 Swagger 작성을 하던 중 Java record에서 발생한 문제점에 대한 게시글이다.git repo 개발 환경Java version : 21 (Amazon Corretto)Springboot version : 3.2.5Swagger dependencies : org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0 상황이번 프로젝트에서는 DTO를 record를 이용하여 작성하기로 했다.협업을 위해 Controller에서 request와 response를 먼저 작성하여 Swagger 문서를 만들어두기로 하여 작업을 진행하였다.get, post 와 관련된 Controller를 작성하여 Swagger 문서를 확인해 봤는데 requ..
지난 프로젝트에서 JPA에서 사용하는 Enum 값을 Converter를 통해 DB에 값을 텍스트가 아닌 숫자(컬럼 타입은 텍스트)로 저장하는 방식을 도입했었다. 이번 프로젝트에서 Entity 매핑과 enum converter화를 진행함에 있어EnumConverter를 작성하는 데에 불편함을 느꼈고 이를 조금 더 편하게 구성하는 방법이 없을까 생각을 했고 이를 위해 글을 찾아봤다. * 참고 게시글우아한기술블로그 (https://techblog.woowahan.com/2600/)기억을 기록으로 (https://velog.io/@rnqhstlr2297/JPA-Enum-Converter%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-Entity-Mapping) 기존 Converter 사용 ..
[level 1] 짝수와 홀수 - 12937 문제 링크 성능 요약 메모리: 77.2 MB, 시간: 0.02 ms 구분 코딩테스트 연습 > 연습문제 채점결과 정확성: 100.0 합계: 100.0 / 100.0 제출 일자 2024년 04월 08일 00:20:32 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges class Solution { public String solut..
프로젝트에서 검색조건이 까다로운게 있었다. 상품을 검색할 때 선택한 카테고리 + 검색어를 통해 카테고리에 해당하면서 검색어를 포함한 상품을 반환하는 Query를 생성해야한다. 아래는 작성한 코드에서 생각대로 작동되지 않는 코드였다. List items = jpaQueryFactory .select(item) .from(item) .leftJoin(itemProduct).on(item.eq(itemProduct.item)) .leftJoin(product).on(itemProduct.product.eq(product)) .leftJoin(maker).on(product.maker.eq(maker)) .leftJoin(category).on(item.category.eq(category)) .where(ca..
프로젝트에서 데이터가 생성되면 create_at 필드에 생성 일자 데이터가 삽입된다. 프로젝트 로직에서 생성된 데이터의 스테이터스가 일정 시간이 지나도 변경되지 않으면 해당 데이터를 삭제하는 로직이 필요했다. SQL로 작성한 바는 아래와 같았다. SELECT id, time(created_at) FROM restaurant_order WHERE time (subdate(now(), INTERVAL 30 MINUTE)) >= time(created_at) AND status = 1 AND deleted_at IS NULL; 이걸 QueryDSL JPA 로 표현을 해야하기에 찾아보고 테스트 해본 결과 아래와 같이 작성을 하면 SQL과 동일하게 작동이 되었다. public List findOrderToDele..
public static String getEntityType(BaseEntity entityObj) { for (EntityTypeV2 entity : EntityTypeV2.values()) { if (entityObj.getClass().isInstance(entity.entityObj)) { return entity.entityType; } } throw new BusinessException(HttpResponse.Fail.NOT_FOUND); } enum에서 사용하는 메서드인데 class 타입을 비교해주는 메서드이다. 프로젝트에서 이미지를 s3에 저장하거나 db에서 불러올 때 entity의 타입이 필요로 하는데 편의성을 위해 BaseEntity를 통해서 처리를 하는 기능을 만들었었다. 이때까지..
프로젝트에서 데이터의 삭제를 물리적 삭제가 아닌 논리적 삭제로 처리를 하고 있다. 그렇기에 데이터를 조회할 때 해당 데이터의 삭제일자 값을 통해 삭제 여부를 확인하는데 1:N 관계의 entity에서 고민이 생겼다. 문의내역에는 답변이 존재하는데 이는 1:N 관계이고 엔티티는 아래와 같이 생겼다. public class Question extends BaseEntity { @Comment("문의사항 작성자") @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id", columnDefinition = "BIGINT", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT)) private Member m..
Response 시 무한참조로 인한 JSON infinity exception Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Infinite recursion (StackOverflowError)] 프로젝트 중에 위와 같은 에러를 마주쳤다. 에러는 문의사항 1개의 정보를 가져오는 부분에서 에러가 발생을 했고 에러 내용은 무한한 json을 만드는 것으로 확인된다. 찾은 이유는 아래의 코드에서 발생한 문제로 확인된다. @Entity public class Member extends BaseEntity { @Comment("회원의 문의 내역") @OneToMany(mappedBy..