为什么数据库查询的结果通常不是类型安全的?

时间:2015-05-25 21:52:59

标签: java oracle

在查询数据库时,为什么返回的值与它们所放置的相同的准确Java类型不一样?即为什么数据库查询结果通常不是类型安全的?

1 个答案:

答案 0 :(得分:2)

您所说的只是更大问题的一部分:对象关系impedance mismatch

简短的回答是,并不总是可以将数据库类型安全地转换为相应的Java类型。例如,甚至整数类型规范在编程语言和数据库之间并不总是匹配(例如,应该是int 32位还是64位?签名或未签名?)。字符串(ASCII或Unicode?)也是如此。正如@Marc B已经提到的那样,如果有更复杂的数据类型,例如date,事情会变得更糟。