LANGUAGE/!$%!% ERROR NOTE 2017. 1. 31. 15:28

!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/)