以下行与Java 8不兼容。
(Map<Integer, BigDecimal>) resultSet.getObject("hstore_field");
hstore键和值作为文本存储在Postgres DB中。尽管从resultSet接收的对象被转换为Map<Integer, BigDecimal>
并且在编译期间没有收到警告/错误,但HashMap中保留的数据类型为<String, String>
。
我已经使用了BigDecimal的instanceof进行了测试并得到了错误。
在执行
hstoreMap.foreach((k,v)-> System.out.println(k + " " +v));
所以,问题很明显 - 投射不会这样。因此我转换为Map,然后将map转换为所需类型。 无论如何,这种错误是什么?
答案 0 :(得分:0)
我不是百分百肯定,但这是我能为你找到的:
http://www.postgresql.org/message-id/4FAB8796.40904@nitorcreations.com
看起来hstore支持仅限于HashMap<String, String>
包装对象。无论如何,我不会把它称为错误。