Taleo集成(TCC):使用Candidate服务更新Candidate Entity的SQ-XML编写咨询
Candidate Entity 字段更新类SQ-XML参考指南
基础编写逻辑
和你已经掌握的导出类查询不同,更新类SQ-XML不需要绑定查询结果映射格式,核心是严格对齐实体元数据的表结构、字段映射规则,所有语法需要符合框架的SQL解析规范。
单条记录字段更新示例
<update id="updateCandidateBasicInfo"> UPDATE candidate_entity SET candidate_name = #{candidateName}, candidate_phone = #{candidatePhone}, candidate_intent_position = #{intentPosition}, update_time = NOW(), updater_id = #{currentOperatorId} WHERE candidate_id = #{primaryKeyId} AND is_deleted = 0 </update>
示例说明:
- 节点
id值需要和业务层绑定的接口标识完全匹配,逻辑和导出类查询的id配置规则一致 - 定位条件必须带实体通用的软删除过滤规则,避免误更新已逻辑删除的历史数据
- 审计类字段(更新人、更新时间)需在SET子句中显式赋值,不要依赖框架自动注入
批量更新示例
针对同一字段批量给多个候选记录赋值的场景,可搭配循环遍历标签实现:
<update id="batchUpdateCandidateStatus"> UPDATE candidate_entity SET candidate_status = #{targetStatus}, update_time = NOW() WHERE candidate_id IN <foreach collection="candidateIdSet" item="singleId" open="(" separator="," close=")"> #{singleId} </foreach> AND is_deleted = 0 </update>
编写注意事项
- 所有更新操作必须绑定明确的记录定位条件,禁止编写无WHERE子句的全表更新语句
- 不要在更新语句中套用导出类常用的结果映射、排序、分页限制这类查询专属语法,会直接触发SQL执行报错
- 更新枚举类型字段时,需传递实体定义的枚举编码值,不要直接传枚举的展示文本
- 大文本类型字段更新时,要确认字段长度映射和导出类的映射配置一致,避免出现写入截断
内容的提问来源于stack exchange,提问作者najna
相关产品推荐
相关产品推荐

