HsqlDB未在错误消息中指定列或表

时间:2017-01-24 12:49:04

标签: java hibernate hsqldb

我使用HsqlDB 2.2.8已经有一段时间了,我无法弄清楚日志显示哪些列或表有问题。我尝试升级到2.3.4(上一版本),但行为是一样的。

例如,使用Hibernate时,我试图在Hibernate执行find时从Hsqldb中找到查询错误的来源。在Hibernate中我们有:

em.find(SomeEntity.class, id);

查看堆栈跟踪,Hibernate端的错误是:

javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not extract ResultSet

来自HsqlDB端的错误:

Caused by: org.hsqldb.HsqlException: data exception: invalid character value for cast

这不是一个孤立的案例。来自HsqlDB的许多错误都没有显示表和列,如下所示:

Caused by: org.hsqldb.HsqlException: data exception: string data, right truncation

或致电程序:

incompatible data type in conversion / Error Code: -5561 / State: 42561

我正在寻找一些方法来记录来自HsqlDB的更多信息。我在调试时试试这个:

org.apache.log4j.Logger.getLogger("hsqldb.db").setLevel(org.apache.log4j.Level.DEBUG)

但不行。

那么,如何找到具有此invalid character的表和列?

0 个答案:

没有答案