我如何设置属性" priceCategory"如果sql的结果集不包含列" price_category"?的值为null

时间:2014-12-01 04:15:26

标签: java orm ibatis

我遇到了关于ibatis动态sql映射的问题。 我的db查询是通过存储过程实现的,这个过程将转到子过程A或B取决于某些条件。现在问题来了,子程序A将返回列“price_category”并且它将被ibatis的resultMap映射到属性“priceCategory”,但是子程序B将不会返回列“price_category”而ibatis将抛出异常,因为映射不能完成。 所以我的想法是通过动态映射解决这个问题,这意味着如果sql没有返回列“price_category”,ibatis会在resultMap中将“priceCategory”设置为null。这可以通过ibatis中的一些配置技巧来实现吗?我认为ibatis应该可以做到这一点,但我没有在其他地方找到相关信息。你能给我一点意见吗? 谢谢你们。

1 个答案:

答案 0 :(得分:0)

您可以让过程B返回一个具有空值的虚拟列。例如:

select a, b, c, null as priceCategory from myTable
// rest of your procedure code here