
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause 내가 맞이한 오류는 위와 같은데 어떤 상황이었냐면 jar 를 배포했을때 Mybatis 조회쿼리를 호출하면 위와 같은 오류가 발생했다. 개발툴에서는 문제없이 구동되고 있었기 때문에 몰랐고, 배포하고 나서야 알게 되었다. 프로젝트의 Mybatis 는 mapper 방식과 dao SqlSession 방식 모두 쓰는 형태인데 그 중 dao SqlSession 방식은 구프로젝트의 뼈대 모..

엔티티가 연관관계없이 특정 컬럼들만 조인해서 뽑아와야 할때가 있다. 이때 엔티티에 값을 담아서 리턴할 수 없어서 DTO에 반환해야 하는데 Projections 를 이용하면 보기좋게 코드를 작성할 수 있다. 먼저 Projections 내의 3가지 bean, fields, constructor 를 이용하는 방법과 @QueryProjection 어노테이션을 이용하는 방법이 있다. 활용해본 결과 Projections의 생성자를 이용하는 방법과 @QueryProjection 어노테이션을 이용하는 방법이 좋은 것 같고 프로젝트 상황에 따라 이 2가지를 사용하는게 이점이 있다고 본다. bean과 fields 방식은 DTO의 필드들과 네이밍이 동일하지 않으면 삽입이 안되서 다른 네이밍들은 직접 다 잡아줘야 한다. AE..

org.hibernate.hql.internal.ast.QuerySyntaxException: SampleEntity is not mapped 앞서 다중 DB를 사용하기 위해 설정하고 JPA + QueryDSL + Mybatis 를 이용할 수 있게 구성했는데 그 중 querydsl 을 사용할 때 Primary DB 는 크게 문제 없이 잘 작동 하였는데 sub DB 가 위와 같은 오류를 내뿜었다. 해당 오류는 db에 엔티티 테이블 맵핑을 찾을 수 없어서 나는 오류이다. [SpringBoot] 다중 Datasource, JPA+QueryDsl+Mybatis 사용 설정. 지난번에 이기종 DB 를 연결하기 위해 Datasource 를 분리하는 작업을 했었는데 거기에 덧붙여 JPA와 Mybatis를 사용할 수 있..

지난번에 이기종 DB 를 연결하기 위해 Datasource 를 분리하는 작업을 했었는데거기에 덧붙여 JPA와 Mybatis를 사용할 수 있게하고 QueryDSL 까지 사용하려고 한다. [SpringBoot JPA] 다중 DB 설정하기 (multi Datasource + 이기종 DB)간혹 사이트들을 연계해야 할때, 그 중에서도 api 없는 사이트의 데이터를 사용해야할 때, 하나의 웹에서 여러 DB를 연결 시켜 사용해야 할 때가 있다. 간단하게 DB Link 로 해결하려 했으나 메인으jong-bae.tistory.com JPA 설정만으로 분리하는 것은 위 전 포스팅과 같이 매우 간편하게 설정할 수 있었다.하지만 필자 프로젝트에 Mybatis도 간혹 필요한 부분이 있어서 설정하는데약간의 예상치 못한 시행..
JPA 를 다중 Datasource 로 구성할때, LocalContainerEntityManagerFactoryBean 에서 프로퍼티를 setJpaPropertyMap 을 이용해 설정 할 때 key 값 리스트는 아래와 같다. hibernate.dialect : Hibernate가 사용하는 SQL dialect를 지정합니다. hibernate.hbm2ddl.auto : DDL 생성 전략을 지정합니다. hibernate.show_sql : SQL을 출력할지 여부를 지정합니다. hibernate.format_sql : SQL을 포맷할지 여부를 지정합니다. hibernate.use_sql_comments : SQL에 주석을 추가할지 여부를 지정합니다. hibernate.connection.driver_class..

간혹 사이트들을 연계해야 할때, 그 중에서도 api 없는 사이트의 데이터를 사용해야할 때, 하나의 웹에서 여러 DB를 연결 시켜 사용해야 할 때가 있다. 간단하게 DB Link 로 해결하려 했으나 메인으로 쓰는 DB와 타 사이트 DB가 달라서 복잡쿼리를 쓸때 제약이 쫌 발생해서 DB를 하나 더 연결하기로 했다. SpringBoot 는 Database 연결을 자동으로 해주기 때문에 다중 DB를 연결하려면 설정부를 재작성해줘야 한다. 일단 db 연동 정보를 추가해준다. spring: datasource: driver-class-name: org.mariadb.jdbc.Driver jdbc-url: jdbc:mariadb://localhost:3306/jpa username: root password: ***..