지금까지는 JPA를 사용하면서 JPA에 Native Query를 사용하거나 jpa method를 조합해서 사용했었다. 아지만 n:m으로 매팽되는 데이터를 사용하게 되었고, 이를 Native Query를 이용해서 해결할 수 있으나 QueryDsl을 써서 해보자는 의견이 나와 QueryDsl을 쓰게 되었다. (아직은 QueryDsl이 뭔지 잘은 모르겠다. jpa의 함수들이 실제 돌아가는게 QueryDsl 기능들을 그 속에 넣어놔서 라고는 하지만...) 여하튼 QueryDsl을 쓰게 되었는데 다른 사람들은 IntelliJ, 나 혼자 Eclipse를 사용하게 되었다. 혼자 Eclipse를 쓰는 나, 다른 사람이 작성해놓은 QueryDsl 코드를 pull 받자마자 Q* 클래스들을 못 찾겠다는 에러를 내면서 실행도..
스프링부트에서 JPA를 사용하다가 모든 리스트를 다 지우고 처음으로 초기화 할 일이 생겼다. 그래서 나는 repository의 deleteAll() 함수를 사용한 후 for문을 통해 처음에 집어넣었던 값들을 똑같이 DB에 집어넣고자 saveAllAndFlush()를 했다. 그렇게 하면 기존에 이것저것 수정된 DB 데이터들이 모두 삭제되고 처음에 집어넣었던 값들을 다시 DB에 넣어서 DB는 이것저것 사용하기 전의 처음 값들을 가지게 될 것이라고 생각한 것이다. 하지만 primary key인 id 값이 이미 존재한다며 'javax.persistence.EntityExistsException' 에러가 발생했고 혹시 deleteAll()을 하고 나서 flush를 안 해서 그런가 하고 repository의 flu..
[ Enum ] JPA로 enum name 그대로 DB에 저장하기(@Enumerated) [ Enum ] JPA로 enum name 그대로 DB에 저장하기(@Enumerated) 최근에 Enum을 이렇게도 저렇게도 사용해보게 되었다. 그 동안 회사 프로젝트에서는 왜 사용을 안 했는지 정말 후회되는 Enum... 나 처럼 enum을 처음 사용해보는 사람은 JPA를 사용할 때 entity에 enum c pamyferret.tistory.com 위의 전 글에서 enum의 값을 DB에 name 그대로 저장하기 위해서 @Enumerated 어노테이션을 사용했었다. 하지만 이럴 경우 enum의 값이 변경 되었을 경우나 order 순서가 변경되었을 때 DB에 저장된 값과 enum의 값이 매칭되지 않아 문제가 발생할 ..
최근에 Enum을 이렇게도 저렇게도 사용해보게 되었다. 그 동안 회사 프로젝트에서는 왜 사용을 안 했는지 정말 후회되는 Enum... 나 처럼 enum을 처음 사용해보는 사람은 JPA를 사용할 때 entity에 enum class를 column으로 사용했을 때 DB에 원하던 enum 값(name)이 아니라 enum의 해당 값의 index가 들어가는 현상을 확인할 수도 있다. 예를 들어 아래와 같은 enum이 있다고 하자. @Getter public enum Menu { BULGOGI_PIZZA(10000, "PIZZA"), CHEESE_PIZZA(8000, "PIZZA"), POTATO_PIZZA(11000, "PIZZA"), ; } 또한 해당 Menu enum을 이용해서 아래와 같은 entity를 구성..
- Total
- Today
- Yesterday
- ssh
- mockito
- 공간데이터
- annotation
- enum
- 데이터베이스
- Caching
- 캐싱
- Java
- 캐시
- k8s
- eclipse
- 자바
- 역직렬화
- PostgreSQL
- rabbitmq
- Spring
- DB
- 이클립스
- JPA
- 메시지큐
- HttpClient
- 스프링부트
- MAC
- 어노테이션
- springboot
- DATABASE
- cache
- postgres
- Intellij
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |