TIL22 다대다 관계에서 중간테이블 만들기 / 순환참조 해결 문제 다대다 관계를 가지는 entity간 연관관계 설정 원인 관계형 데이터베이스에서는 정규화된 테이블 2개로 다대다 관계를 표현할 수 없고 @ManyToMany로 만들어진 연결 테이블에는 추가적인 데이터들을 추가할 수가 없음. 그리고 예상하지 못한 쿼리들이 발생함에 따라 성능이 저하됨 해결 두 테이블 사이에 연결 테이블(조인 테이블)을 직접 만들고 entity로 승격시켜주어 관계를 일대다, 다대일 관계로 풀어줌(@ManyToMany 사용 지양) User entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false, unique = true) p.. TIL 2024. 1. 3. [Spring] @JsonInclude(JsonInclude.Include.NON_NULL) 제목, 작성자명(nickname), 작성 날짜를 조회하기 PostResponseDto에는 여러가지 필드들이 있지만 위의 3가지만 출력을 해보기로 하였다 PostResponseDto @Getter @NoArgsConstructor @AllArgsConstructor public class PostResponseDto { private Long id; private String nickName; @JsonFormat(pattern = "yyyy-MM-dd") private LocalDateTime createdAt; @JsonFormat(pattern = "yyyy-MM-dd") private LocalDateTime modifiedAt; private String title; private String c.. TIL 2023. 12. 22. Could not autowire. No beans of 오류 / 프로그래머스<기사단원의 무기> 강의를 들으면서 코드들을 따라 해보고 있었는데 아주 보기 싫은 빨간 줄이 생기면서 "could not autowire. No beans of ~ " 오류가 발생하였다. 그래서 Repository 어딘가에 어노테이션이 까먹고 안 달았나 하고 살펴보았더니 모두 달려있었다 그래서 구글에 쳐보니 1. 그냥 Intellij 오류라 실행만 되면 된다면 상관없다 2. 상단 메뉴에 Help → Edit Custom Properties 에다가 idea.spring.boot.filter.autoconfig=false 추가 3. 패키지내 아래와 같은 Configuration 을 추가 @Configuration @ComponentScan({"@Autowired 대상이 있는 패키지"}) class ComponentScanCon.. TIL 2023. 12. 13. 프로그래머스 덧칠하기, 소수만들기 덧칠하기 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 벽의 길이 = n / 롤러의 길이 = m / 페인트를 칠하기로 정한 구역들의 번호가 담긴 정수 배열 = section def solution(n, m, section): answer = 0 section_map = {x: i for i, x in enumerate(section)} i = 0 while i = i: if num_sum % i == 0: num_cnt += 1 i += 1.. TIL 2023. 12. 12. [JPA] 값 타입 컬렉션 JPA 데이터 타입 JPA에서 데이터 타입으로 2가지로 나눠보면 엔티티 타입 @Entity 어노테이션을 이용해서 정의된 객체 Entity 타입은 데이터가 변경되어도 식별자로 추적이 가능 값 타입 식별자가 없고 값만 존재하므로 변경되면 추적이 불가능 단순히 값으로 사용하는 자바 기본 타입이나 객체 기본값 타입 자바 기본 타입(int, double) wrapper 클래스(Integer, Long) String 임베디드 타입 JPA에서 정의해서 사용 컬렉션 값 타입 JPA에서 정의해서 사용 컬렉션에 기본값 또는 임베디드 타입을 넣은 형태 값 타입 컬렉션(collection value type)이란? 값 타입을 컬렉션에 담아서 쓰는 것을 말하며 값 타입을 하나 이상 저장할 때 사용한다 연관관계 매핑에서 엔티티를.. TIL 2023. 12. 6. JUnit Assert(단정) 메서드 Assert - JUnit에서 많이 사용되는 단정(assert) 메소드 메서드 설명 assertThrows(expectedType, executable) executable에서 expectedType의 예외가 발생하는지 확인 assertEquals(x, y) 객체 x와 y가 일치함을 확인 x(예상 값)와 y(실제 값)가 같으면 테스트 통과 assertArrayEquals(x, y); 배열 A와 B가 일치함을 확인 assertTrue(x) x가 true 인지 확인 assertFalse(x) x가 false 인지 확인 assertTrue(message, condition) condition이 true이면 message표시 assertNull(객체) 객체가 null인지 확인 assertNotNull(객체) 객.. TIL 2023. 12. 4. 테스트 관련 어노테이션, Given - When - Then 패턴 소프트웨어공학을 공부할 때 나왔었던 단위 테스트에 대해서 알아보았다 단위 테스트 테스트 생성이 끝나고 수행하는 첫 번째 테스트로 프로그램의 기본 단위인 모듈을 테스트하여 모듈테스트(module test) 라고도 하며 작성한 코드 중 실행 가능한 가장 작은 단위를 테스트하는 것을 단위 테스트라고 한다 → 메서드 단위로 테스트 하는 것 더보기 소프트웨어공학으로 바라봤을 때의 단위테스트 + 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 요구분석명세서대로 정확히 구현되었는지 테스트 + 개별 모듈이 제대로 구현되어 정해진 기능을 정확히 수행하는지를 테스트 단위 테스트 수행 후 발견되는 오류 - 잘못 사용한 자료형 - 잘못된 논리 연산자 - 알고리즘 오류에 따른 원치 않는 결과 - 틀린 계산 수식에 의한 잘못.. TIL 2023. 11. 30. 이전 1 2 3 4 다음