Spring MyBatis嵌套选择为空,带有UUID输入参数

Spring MyBatis嵌套选择为空,带有UUID输入参数,spring,mybatis,Spring,Mybatis,通过嵌套选择的MyBatis关联返回一个空结果集 传递给嵌套选择的参数是Oracle数据库中原始数据类型列的UUID 您可以在下面看到,我正在尝试将“cfg_one_key”列值传递给嵌套选择,以匹配嵌套选择查询中名称稍有不同的列(cfg_one_pk) 我没有看到任何错误,但我没有得到任何结果。当我使用DB visualizer应用程序直接查询数据库时,会看到一个结果 所以,我想知道嵌套选择是否不可能使用UUID值 <resultMap id="cfgsMap&quo

通过嵌套选择的MyBatis关联返回一个空结果集

传递给嵌套选择的参数是Oracle数据库中原始数据类型列的UUID

您可以在下面看到,我正在尝试将“cfg_one_key”列值传递给嵌套选择,以匹配嵌套选择查询中名称稍有不同的列(cfg_one_pk)

我没有看到任何错误,但我没有得到任何结果。当我使用DB visualizer应用程序直接查询数据库时,会看到一个结果

所以,我想知道嵌套选择是否不可能使用UUID值


    <resultMap id="cfgsMap" type="Cfgs">
      <association property="cfgOne" javaType="CfgOne">
        <id property="cfgOneKey" column="cfg_one_key"/>
        <result property="cfgOneLabel" column="cfg_one_label"/>
        <result property="cfgOneLastModified" column="cfg_one_last_modified"/>
      </association>
      <collection property="cfgTwo" column="cfg_one_key" ofType="CfgTwo" select="selectCfgTwo"/>
    </resultMap>

    <select id="selectCfgOne" resultMap="cfgsMap">
        SELECT cfg_one_key, cfg_one_label, cfg_one_last_modified
        FROM cfg_one
        WHERE is_latest = 'Y' AND cfg_one_label = 'Dummy Config'
    </select>

    <select id="selectCfgTwo" resultType="CfgTwo">
        SELECT cfg_two_key, cfg_two_label, cfg_two_last_modified
        FROM cfg_two
        WHERE cfg_one_pk = #{cfg_one_key}
    </select>

选择cfg\u one\u key、cfg\u one\u label、cfg\u one\u last\u modified
从一开始
其中是最新的='Y'和cfg\u one\u标签='Dummy Config'
选择cfg\u two\u键、cfg\u two\u标签、cfg\u two\u上次修改
从你二号开始
其中cfg_one_pk=#{cfg_one_key}

虽然技术上可行,但使用
标记运行
选择
会遇到N+1性能问题。我建议运行一个查询(一个映射器),如MyBatis文档所示。这对我来说总是运行良好,结果正确,速度极快。