有没有办法使用返回的值创建动态列(作为键/值)名称
从查询抛出 DIH (DataImportHandler)?
例如:
<entity name="foo" dataSource="my_database" query="select key,value from foo where id=${item.id}">
<field column="${foo.key}" value="${foo.value}" name="${foo.key}_s"/>
</entity>
??
最佳答案
使用 ScriptTransformer ——
例子 -
数据配置 - 添加自定义字段 -
<script><![CDATA[
function addfield(row){
var fieldName = row.get('key') + "_s"
row.put(fieldName, row.get('value'));
return row;
}
]]></script>
实体映射 -
<entity name="foo" dataSource="my_database" transformer="script:addfield" query="select key,value from foo where id=${item.id}">
......
</entity>
关于search - 使用 DIH (DataImportHandler) 的动态列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7917317/