1

我们正在 EclipseLink 的InformixPlatform类中发现问题(并报告它们)——该类负责使 Informix 数据库适应 EclipseLink 内部的要求。

我们有几个类型转换问题。例如,Informix 支持两个不透明文字(t和 --f不是字符,而是实际文字)作为本机boolean值。似乎 EclipseLink 可能正在尝试使用SMALLINT数据库类型。

由于缺少 a 中的大量程序代码SessionCustomizer,我找不到纠正或改进这种全局转换行为的好地方。

注册这种全局从数据库获取值并将其转换为 Java 对象行为的最佳位置在哪里? 其他问题似乎表明这是不可能的,但我觉得这很难相信。

4

1 回答 1

1

构建您自己的转换管理器类
(扩展org.eclipse.persistence.internal.helper.ConversionManager)。
并覆盖方法convertObjectToBoolean()

要在 eclipselink 中启用您自己的转换管理器实例,请使用 aSessionCustomizer并调用session.getPlatform().setConversionManager()

但是,在查看此方法的源代码时,似乎已经实现了对tf文字的支持(至少在 eclipselink 2.3.3 中)。
但也许有一个错误?在您的应用程序运行时调试此方法可能是值得的,以真正了解那里发生了什么。

于 2013-02-28T16:45:41.840 回答