【发布时间】:2018-02-05 10:15:51
【问题描述】:
我正在使用 vertx-jdbc-client (http://vertx.io/docs/vertx-jdbc-client/java/) 进行数据库连接。这适用于除 BigDecimal 之外的所有数据类型。
在我的数据库中,类型是 decimal(13,2),在 Java 中,我使用的是 BigDecimal 数据类型。我只想使用 vertx-jdbc-client 阅读和更新本专栏。
不幸的是,我得到了以下异常:
SEVERE: Unhandled exception
java.lang.IllegalStateException: Illegal type in JsonObject: class java.math.BigDecimal
at io.vertx.core.json.Json.checkAndCopy(Json.java:215)
at io.vertx.core.json.JsonArray.add(JsonArray.java:444)
查看 io.vertx.core.json.Json.checkAndCopy 告诉我框架不支持 BigDecimal:
@SuppressWarnings("unchecked")
static Object checkAndCopy(Object val, boolean copy) {
if (val == null) {
// OK
} else if (val instanceof Number && !(val instanceof BigDecimal)) {
// OK
} else if (val instanceof Boolean) {
...
}
我用谷歌搜索了一下,但没有找到解释为什么不支持。
有解决办法吗?
使用以下版本: (Java 8、Vertx 3.5.0、Postgres 9.6)
【问题讨论】:
标签: java jdbc bigdecimal vert.x