这是一个奇怪的问题。Boolean具有值的属性肯定null应该存储为NULL并且tinyint列类型允许这样做。我无法自己调查这个问题,但我会这样做:
首先,我将激活 Hibernate 的 DML 语句和 JBDC 参数的日志记录,以确认 Hibernate 确实通过了NULL(并且应该如此)。相关类别(第3.5 章日志记录)是org.hibernate.SQL和org.hibernate.type。
如果第一个测试没有揭示问题,我会尝试通过一个简单的测试类进一步隔离它,使用原始 JDBC 插入一个Boolean值null(并读取它)。如果这个测试不积极,那么我就会开始怀疑 JDBC 驱动程序。
顺便问一下,您使用什么 JDBC 驱动程序(和版本)?如果您使用的是 Microsoft 驱动程序,请尝试使用最新版本的jTDS(反之亦然)。
| 归档时间: |
|
| 查看次数: |
10373 次 |
| 最近记录: |