通過valuelist的queryMap傳遞過來的參數默認都為string類型,在valuelist配置文件的hql中,如果直接將該值賦給整型的字段會報錯。一般我們會在hql中利用轉型函數來進行處理,如下:
復制代碼 代碼如下:
該方法比較麻煩,在所有的整型字段地方都需要添加函數處理,并且進行數據庫遷移時會出現函數不兼容的問題??梢岳肰alueList配置來對整型的字段進行統一設置,valuelist在拼裝sql前會對配置好的參數進行轉型。如下:
<bean id="integerSetterHql" class="net.mlw.vlh.adapter.hibernate3.util.setter.IntegerSetter"></bean>
<bean id="statementBuilderHql" class="net.mlw.vlh.adapter.hibernate3.util.StatementBuilder">
<property name="setters">
<map>
<entry key="uId"><ref bean="integerSetterHql"/></entry>
<entry key="oId"><ref bean="integerSetterHql"/></entry>
</map>
</property>
</bean>
新聞熱點
疑難解答