검색결과 리스트
글
!markdown
### Error (에러)
```
com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class java.io.ByteArrayInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: java.util.LinkedHashMap["rows"]->java.util.ArrayList[0]->java.util.LinkedHashMap["DATE_VAL"]->oracle.sql.TIMESTAMP["stream"])
```
### Problem (문제)
대개 `JSON으로 변경되기 어려운 무언가가` 있는것이다.
위의 경우는 Oracle Database에서 Select해서 가져온 컬럼중 `TIMESTAMP형식이 JSON으로 변환되지 않는 것`이다.
### Solved (해결)
- 방법1. Select하는 Query를 고친다. Oracle의 CAST()함수로 TIMESTAMP에서 DATE로 형변환이 가능하다.
```sql
SELECT CAST(SYSTIMESTAMP AS DATE) DT FROM DUAL;
```
- 방법2. Select해온 데이터를 Java에서 형변환을 해주자.
```java
Date date = oracleTimestamp.dateValue();
System.out.println(date);
```
### Reference (참조)
How to convert TimeStamp to Date in Java?: [http://stackoverflow.com/questions/11839246/how-to-convert-timestamp-to-date-in-java/11839276#11839276](http://stackoverflow.com/questions/11839246/how-to-convert-timestamp-to-date-in-java/11839276#11839276)
Convert Oracle Timestamp to Date: [http://www.club-oracle.com/threads/convert-oracle-timestamp-to-date.692/](http://www.club-oracle.com/threads/convert-oracle-timestamp-to-date.692/)