因为axis2对pojo支持有限,只能将用到的List类型改成数组,然后发现hibernate的 array components mapping测试出错,排查了一下似乎是hibernate和derby配合出现了问题,换成oracle问题解决,换成hsqldb也没问题。
发现问题的mapping配置。
<hibernate-mapping>
<class name="DispatchList">
<id name="id">
<generator class="native"/>
</id>
......
<array name="detailitems">
<key column="dispatchListId"/>
<list-index column="detailIdx"/>
<composite-element class="DetailInfo">
<property name="itemcode"/>
<property name="newvalue"/>
<property name="changemethod"/>
</composite-element>
</array>
</class>
</hibernate-mapping>
使用的hibernate版本:3.2.6.ga; derby版本:10.4.1.3
发现问题的mapping配置。
<hibernate-mapping>
<class name="DispatchList">
<id name="id">
<generator class="native"/>
</id>
......
<array name="detailitems">
<key column="dispatchListId"/>
<list-index column="detailIdx"/>
<composite-element class="DetailInfo">
<property name="itemcode"/>
<property name="newvalue"/>
<property name="changemethod"/>
</composite-element>
</array>
</class>
</hibernate-mapping>
使用的hibernate版本:3.2.6.ga; derby版本:10.4.1.3