kotlin 함수 ?.null { it } where 조건 안에서 특정 파라미터 값을 체크해 데이터 유무에 따라 사용할 수 있다. fun findByIdAndName(id: Long, name:String): List { return from(members) .where(members.id.eq(id), name?.let { members.name.eq(it) }) .fetch() } 코틀린에서 제공하는 함수를 queryDsl 쿼리문 안에서도 사용 가능하다. ?. : null 이 아닐 때 let { } : it 으로 자기 자신을 받아와서 객체의 상태를 변경할 수 있다. ?.let { null이 아닐 때 블럭을 실행한다. }
Enum 클래스를 만들고, Entity의 해당하는 컬럼을 Enum클래스로 type 변경 enum class BookType { COMPUTER, ECONOMY, SOCIETY, LANGUAGE, SCIENCE, } //val type: String, val type: BookType, 컬럼에 Enum 타입을 지정해주지 않으면? 디비에 0, 1, 2,... 처럼 순서대로 숫자 데이터가 들어간다. 문제점 1. 기존 Enum 의 순서가 바뀌면 치명적인 오류가 발생할 수 있다.! 2. 기존 Enum 타입의 삭제, 추가가 제한적이라 유지보수에 좋지 못하다. @Enumerated(EnumType.STRING) 타입을 지정하면, (여기서는 STRING 으로 지정한다.) 지정된 타입으로 Enum class의 데이터가 ..
@Entity class User( var name: String, ) { fun updateName(name: String) { this.name = name } } - 생성자 안의 var property 로 name 생성 - setter 대신 함수를 만들어 update name (var property) name setter가 public 으로 열려있지만, 함수를 이용하는 것이 클린하다. 이유? 1. 함수의 이름으로 명시적으로 사용 가능 2. 여러가지 property를 한번에 업데이트 가능 setter를 private하게 만드는 법 1. backing property (_name) class User( private var _name: String ) { val name: String get() = ..
각각의 테스트를 실행하면 성공하지만, 전체 테스트를 돌리면 실패하는 이유? : Spring Context 를 공유하기 때문 //Expected size: 2 but was: 3 in: //[com.group.libraryapp.dto.user.response.UserResponse@69862a1, // com.group.libraryapp.dto.user.response.UserResponse@585718dd, // com.group.libraryapp.dto.user.response.UserResponse@5a644d75] //java.lang.AssertionError: 생성 테스트 - 조회 테스트 1. 최초 생성 테스트 : DB에 user 데이터 1명 추가 @Test fun saveUserTest(..
- Total
- Today
- Yesterday
- 티스토리챌린지
- 오블완
- n+1
- redisson 분산락
- MongoDB
- FetchJoin
- JPA
- Git
- Cannot construct instance of
- QueryDSL
- 자바 어플리케이션 실행 과정
- Linux
- checkout
- addFilterBefore
- Java
- 추상클래스
- ChatGPT
- Kotlin
- dto 클래스 생성자
- array
- junit5
- 스프링 스케줄링
- 배열
- 스프링오류
- spring boot 3
- MultipleBagFetchException
- bucket4j
- port
- Spring Security
- jvm warm-up 전략
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |