adtペイロードでOracleAQを処理するために次の構成を使用しています...
<bean id="messageConverter"
class="org.springframework.data.jdbc.jms.support.converter.oracle.MappingAdtMessageConverter">
<constructor-arg>
<bean class="org.springframework.data.jdbc.jms.support.oracle.StructDatumMapper">
<constructor-arg index="0" value="MY_QUEUE"/>
<constructor-arg index="1" value="MyMappedClass"/>
</bean>
</constructor-arg>
</bean>
問題は、キューから取り出した後、INTEGERを持つフィールドのJava側のnull値と、他のフィールドの非null値を取得していることです。
MyMappedClass@649fe46f[
id=<null>
id2=<null>
time=2013-02-22 14:57:11.0
user=LUKAS
]
キュー テーブルでは、これらの値は null ではありません。
その理由は何でしょうか。マッピングが悪いと思っていましたが、何も問題はありません。これらのフィールドは、Types.INTEGER としてマップされます。
何が原因か分かりますか?