[JPA] No Dialect mapping for JDBC type: 1111

Intro JPA 사용 중 native 쿼리를 사용해야 할 일이 있어 nativeQuery = true 옵션을 걸고 쿼리를 작성 했습니다. 그런데 생소한 에러메시지가 나오며 UUID의 맵핑이 제대로 이루어지지 않았습니다. org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111 원인 https://github.com/spring-projects/spring-data-jpa/issues/1796 이미 오래전부터 알려져있었지만 고치지 않기로 결정 된 Hibernate 이슈 라고 합니다. Hibernate 구현체에서는 addScalar를 활용 하길 추천하지만 특정 구현체에 의존하지 않고 Spring Data JPA 를 이용할 경우에는 cas..

Development/Daily Error 2022.06.28
The getKey method should only be used when a single key is returned

Intro JDBC의 KeyHolder를 사용 하던 중 위와 같은 에러를 만났습니다. 에러 전문은 아래와 같습니다. org.springframework.dao.InvalidDataAccessApiUsageException: The getKey method should only be used when a single key is returned. The current key entry contains multiple keys: [{id=13, item_name=M2Air, price=1690000, quantity=12}] keyHolder.getKey() 를 했을때 하나의 키가 반환 되어야 하지만 여러개의 키가 반환 되어 발생한 에러라고 메시지에 쓰여 있습니다. 상황 NamedParameterJdbcTe..

Development/Daily Error 2022.06.16
Logstash를 이용해 Oracle 데이터를 Elastic search와 동기화 하기

ElasticSearch의 버전을 확인합니다. number 에 써있는 7.12.1이 버전입니다 ! https://www.elastic.co/downloads/ 위의 다운로드 링크에서 Logstash를 찾아갑니다. 7.13.1 버전 까지 나왔나 보네요. 아래에 보니 이전 버전을 확인 할 수 있습니다. 제가 서버로 쓰고 있는 컴퓨터에 맞게 7.12.1 WINDOWS 버전을 다운 받았습니다. 압축을 풀어줍니다. 이제 이 설정파일을 먼저 셋팅 해줘야 합니다. 샘플 파일이 있으니 카피 하고 이름을 바꿔줍니다. ojdbc 커넥터를 지정 해 주어야 합니다. 실행 해 보았습니다. 갑자기 CPU 자원을 극한으로 사용합니다. 금새 완료가 된 것 같습니다. kibana에 들어가 확인하니 14개의 Docs 가 정확하게 들어 ..

Data/Search Engine 2021.06.06
JDBC 와 MYSQL 연동하기 7) MyBatis 적용하기

Mybatis란? Mybatis는 Java Persistence Framework 입니다. SQL 문장을 XML 혹은 어노테이션을 이용해 Object에 저장하도록 해줍니다. ORM ( Object Relational Mapping) 혹은 Sql Mapper Framework 로 불립니다. Transaction 도 관리해주며, class loader 형태로 접근(절대경로)합니다. Ibatis가 발전해 MyBatis가 되었는데요, Apache Project 팀에서 google code 팀으로 이동하며 명칭이 변경되었습니다. MyBatis와 Ibatis는 몇가지 차이점이 있습니다. - IBatis는 JDK 1.4 에서 사용이 가능합니다. MyBatis로 넘어오며 요구사항이 JDK 1.5 이상으로 바뀌었습니다...

Programming/JPA ⁄ Spring 2021.04.17
JDBC 와 MYSQL 연동하기 6) MVC 패턴 적용하기

1. 필요한 VO(Value Object) 객체를 제일 먼저 만들어 줬습니다. package kr.or.ddit.vo; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @Data @EqualsAndHashCode(of="al_id") @ToString public class AlbaVO { private String al_id; private String al_name; private Integer al_age; private String al_zip; private String al_addr1; private String al_addr2; private String al_hp; private String gr_co..

Programming/JPA ⁄ Spring 2021.04.17