본문 바로가기
728x90
반응형
SMALL

2019/099

Gson LocalDateTime 처리(BEGIN_OBJECT but was STRING) Date 와 관련된 값들은 Java8 부터 지원하는 LocalDateTime 을 주로 사용한다. API 를 통해 객체 정보를 요청하고 수신할때 serialize, deserialize 하게 되는데 이때 google의 Gson을 많이 사용한다. 그런데 Gson 은 LocalDateTime 을 알지 못하기 때문에 LocalDateTime 에 대한 구문 분석을 하지 못한다. Expected BEGIN_OBJECT but was STRING .... 18:05 ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [/decide7] threw exception .. 2019. 9. 18.
Flyway (Spring Boot + JPA) 소스코드는 svn, git 등 vcs(version control system)로 형상 관리한다. 데이터베이스의 변경 이력은 어떻게 관리해야 할까? 몇년전 flyway 와 같은 녀석(?)을 모를때에는 데이터베이스 무결성 검사 (현재 Application 에서 필요한 데이터베이스 스키마 정보와 일치하는지 확인) 를 위한 모듈을 직접 개발하여 Application 구동 시 또는 엔지니어가 버튼 클릭을 통해 확인하도록 기능을 제공했다. 물론 현재도 해당 모듈을 이용하면 쉽게(?) 그리고 디테일 하게 필요한 테이블 스키마를 맞춰줄 수 있다. 다만, 해당 모듈을 사용하려면 각 테이블에 대한 SQL 파일 뿐 아니라 index 에 대한 파일, 각 컬럼에 대한 명세 파일 등을 수동으로 하나하나 만들어야 하는 불편함이 .. 2019. 9. 10.
Spring Data JPA + QueryDsl 2019/09/06 - [IT/JPA] - JPQL, NativeSQL, Criteria, QueryDSL, JOOQ... 에서 살펴 본 것 처럼 Spring Data JPA 만으로는 복잡한 구조의 어플리케이션을 구성하는데 한계가 있다. QueryDsl 을 사용하는 방법을 간단하게 정리 해 본다. 먼저 pom.xml 에 아래 dependency를 추가 한다. com.querydsl querydsl-jpa com.querydsl querydsl-apt org.springframework.boot spring-boot-maven-plugin com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.. 2019. 9. 9.
JPQL, NativeSQL, Criteria, QueryDSL, JOOQ... JPA를 이용해서 Application 의 모든 로직을 처리하는 것은 사실상 어렵다고 본다. 단순한 CRUD와 일반적인 CUD에 대해서는 JPA로 아주 큰 효과를 볼 수 있을 것으로 보이나 실제 우리가 만드는 Application 들은 복잡한 구조로 데이터를 읽을 필요가 있다. JPA가 기본적으로 제공하는 기능들로 복잡한 구조로 데이터를 읽는 것은 어려우며 보다 쉬운 방법들이 필요하다. JPQL - 이름만으로 어떤 녀석인지 느낌이 온다. - 테이블이 아닌 Entity 객체를 대상으로 검색하는 객체지향 쿼리이며 - SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다. - 영속성 컨텍스트에서 찾지 않고 항상 데이터베이스를 조회 한다. - JPQL로 조회한 엔티티는 영속 상태가 된다. - JPQL은.. 2019. 9. 6.
728x90
반응형
LIST