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

2023年 4月 22日 57.4k 0

通过valuelist的queryMap传递过来的参数默认都为string类型,在valuelist配置文件的hql中,如果直接将该值赋给整型的字段会报错。一般我们会在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 class="net.mlw.vlh.adapter.hibernate3.util.setter.IntegerSetter"></bean> <bean 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>

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论