본문 바로가기
반응형

전체글587

EntityQL로 OneToMany (1:N) Bulk Insert 구현하기 지난 시간에는 EntityQL 환경을 적용해보았습니다. 간단한 예제로 단일 Entity의 Bulk Insert를 보여드렸는데요. 이번 시간에는 OneToMany 환경에서 어떻게 Bulk Insert를 구현할지 알아보겠습니다. 1. 해결책 EntityQL이 전환해주는 Querydsl-SQL은 JPA 기반이 아닙니다. 그래서 OneToMany와 같은 연관관계 Insert/Update 등은 JdbcTemplate처럼 직접 구현을 해야하는데요. 원래 JdbcTemplate으로 작성하던 코드를 단순히 정적 타입 개발이 가능하도록 지원할 뿐인것 이제는 다들 아시죠? 그래서 꼭 Querydsl-SQL이 아니더라도, JdbcTemplate로 구현한다 하여도, OneToMany 를 BulkInsert를 하려면 다음의 과.. 2021. 4. 12.
JPA 사용시 @Embedded 주의사항 간혹 JPA의 @Embedded 를 잘못사용하는 경우를 보게 됩니다. 이번 시간에는 @Embedded 를 사용하면서 주의해야할 점을 알아보겠습니다. 꼭 @Embedded 만의 문제는 아니며, Entity 내부에 객체형 필드가 선언되어 있으면 주의할 필요가 있습니다. 문제 상황 예를 들어서 다음과 같은 Entity 가 있습니다. @Getter @NoArgsConstructor @Entity public class Pay { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private long amount; private String orderNo; @Embedded private PayDetails payDetails = .. 2021. 4. 3.
(MySQL) Auto Increment에서 TypeSafe Bulk Insert 진행하기 (feat.EntityQL, JPA) 여러 글에서 언급하고 있지만, JPA환경에서 키 생성 전략을 Auto Increment로 할 경우 BulkInsert가 지원되지 않습니다. Spring Batch Item Writer 성능 비교 MySQL 환경의 스프링부트에 하이버네이트 배치 설정 해보기 그래서 수십만 ~ 수백만건의 Entity 를 insert 할 때는, 항상 JdbcTemplate를 이용하여 Insert합치기 구문을 이용한 BulkInsert 처리를 하는데요. 이 방식은 기존 JPA와 Querydsl 을 이용한 Typesafe 방식을 전혀 활용하지 못해서 단점이 많아 항상 많은 고민을 하게 됩니다. 그래서 이번 시간에서는 어떻게 하면 Auto Increment에서 TypeSafe Bulk Insert을 할 수 있는지 그 방안을 한번 이.. 2021. 3. 28.
주식과 연봉 호돌맨과 찍은 유튜브 영상에서 다 하지 못한 말인데 생각도 좀 정리할겸해서 작성하게 되었다. 일단 난 주린이고, 연봉 결정권자도 아니라서 지극히 개인적인 생각이다. 최근 들어 주식을 하다보니 주식의 매수가격과 직장인의 연봉 책정이 비슷한 것 같다는 생각을 하게 됐다. 2021.03.12 기준 네이버는 (액면분할해서) 주당 38만원이다. 1년전에 13만원이였던걸 생각하면 38만원에 도저히 살 수 없을것 같은데도, 사는 사람들이 있다. 이 사람들은 왜 사는 걸까? 개인적인 생각으론 이건 네이버 주식의 가치가 그보다 훨씬 더 높다고 믿기 때문이다. 다른 말로 하면 미래에 38만원 보다 훨씬 더 높은 가격이 될 것이라는 믿음 때문이다. 만약 네이버의 주식 가격이 38만원에서 더이상 오르지 않는다고 하면 어떨까?.. 2021. 3. 15.
Mac에서 개발 환경 (IntelliJ 기반) 꾸미기 현 회사에 오면서 처음으로 Mac을 경험하면서 윈도우보다는 훨씬 다양한 기능과 앱들을 찾아보고 경험했습니다. 다양한 앱들 덕분에 IntelliJ IDEA에서 사용하는 여러 단축키들이 충돌나서 대채제 혹은 단축키 변경등을 하기도 했는데요. 다양한 앱들을 모르는 분들도 계시고, IntelliJ 와 단축키가 충돌나서 단축키를 못쓰시는 분들에 대한 이야기도 듣게 되어 정리하게 되었습니다. 터미널과 도커 등의 개발 환경은 이미 subicura 님께서 블로그에 정리해주셔서 저는 그것외에 주로 사용하는 세팅과 앱들을 소개 드리겠습니다. 본격 macOS에 개발 환경 구축하기 App 대부분의 Mac App들은 단축키를 적극 활용할 수 있도록 되어있으니, 단축키도 함께 소개드리겠습니다. 혹시나 Mac의 특수기호가 윈도우/.. 2021. 3. 10.
VSCode에서 정규표현식(Regex)로 원하는 문자열 치환하기 아스키독 (adoc) 혹은 마크다운 (md) 파일을 작성하다보면 정규표현식을 통해 특정 패턴의 문자들 중 일부만 교체 해야할 때가 종종 있습니다. 이를테면 다음과 같은 경우인데요. 아래와 같은 화면에서 (숫자) 로 되어진 부분들을 로 변경이 필요하다고 하겠습니다. (즉, 괄호안 숫자는 그대로 두고, 괄호 () 만 태그 로 교체하는 것입니다.) 현재 찾고자 하는 패턴을 정규표현식으로 간단하게 표현하면 \([0-9]\) 가 됩니다. 그래서 찾는 패턴은 \([0-9]\)로 두고, 어떻게 변환할지만 정하면 되는데요. 여기서 아래와 같이 입력해서 변경을 시도해보실 수 있습니다. \([0-9]\) 괄호를 escape 처리 하기 위해 backslash (\) 를 괄호 앞에 붙였습니다. VS Code에서는 replac.. 2021. 2. 18.

728x90
반응형