您当前的位置: 首页 > 数据库教程 > MySQL教程 > 如何通过配置自动实现ValueList中hql语句的整型参数转换

如何通过配置自动实现ValueList中hql语句的整型参数转换

作者:不详 来源:网络 发布时间: 2014-07-24 17:37 点击:
通过valuelist的queryMap传递过来的参数默认都为string类型,在valuelist配置文件的hql中,如果直接将该值赋给整型的字段会报错。一般我们会在hql中利用转型函数来进行处理,如下: 复制代码 代码如下: entry key=areasInfoAdapter bean parent=abstractHibernate30Ada

如何通过配置自动实现ValueList中hql语句的整型参数转换

  通过valuelist的queryMap传递过来的参数默认都为string类型,在valuelist配置文件的hql中,如果直接将该值赋给整型的字段会报错。一般我们会在hql中利用转型函数来进行处理,如下:

  复制代码 代码如下:

  <entry key="areasInfoAdapter">

  <bean parent="abstractHibernate30Adapter">

  <property name="defaultNumberPerPage"><value>19</value></property>

  <property name="statementBuilder"><ref bean="statementBuilderHql"/></property>

  <property name="defaultSortColumn"><value>id</value></property>

  <property name="defaultSortDirection"><value>desc</value></property>

  <property name="hql">

  <value>

  from com.berheley.hcms.persistence.model.TBaseAreas as tb

  where tb.status='1'

  /~hId : and tb.hId = to_number{hId} ~/

  /~oId : and tb.oId = to_number{oId} ~/

  order by tb.code asc

  </value>

  </property>

  <property name="defaultFocusPropertyObjectAlias"><value>vo</value></property>

  <property name="maxRowsForFocus"><value>160000</value></property>

  <property name="removeEmptyStrings"><value>true</value></property>

  </bean>

  </entry>

  该方法比较麻烦,在所有的整型字段地方都需要添加函数处理,并且进行数据库迁移时会出现函数不兼容的问题。可以利用ValueList配置来对整型的字段进行统一设置,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>
分享到:
本文"如何通过配置自动实现ValueList中hql语句的整型参数转换"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4