[jira] Commented: (IBATIS-483) Empty/Null resultset from subselect causes NPE
[ https://issues.apache.org/jira/browse/IBATIS-483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12729658#action_12729658 ] aaron pieper commented on IBATIS-483: - I was able to fix this issue by changing how the SqlMapClientTemplate was configured in Spring. In iBatis 2.1.7, it was OK to configure the SqlMapClientTemplate this way: bean class=org.springframework.orm.ibatis.SqlMapClientTemplate property name=sqlMapClient bean class=org.springframework.orm.ibatis.SqlMapClientFactoryBean/ ... /bean /property property name=dataSource ref=dataSource/ /bean However, starting in iBatis 2.3.4, we got errors unless we configure the SqlMapClientTemplate this way: bean class=org.springframework.orm.ibatis.SqlMapClientTemplate property name=sqlMapClient bean class=org.springframework.orm.ibatis.SqlMapClientFactoryBean/ property name=dataSource ref=dataSource/ ... /bean /property /bean In other words, if you don't declare a datasource on the SqlMapClientFactoryBean, the SqlMapClient has a null transaction manager, which causes problems in some causes. Empty/Null resultset from subselect causes NPE -- Key: IBATIS-483 URL: https://issues.apache.org/jira/browse/IBATIS-483 Project: iBatis for Java Issue Type: Bug Components: SQL Maps Affects Versions: 2.3.2, 2.3.3, 2.3.4 Environment: Ubuntu Linux, Tomcat 5/6, MySQL Reporter: John Crawford Fix For: 2.3.5 Attachments: ibatis-npe.txt When doing a subselect (using maps), I get a NPE when the result of the subselect is null/empty. I believe that this occurs in every version since 2.1.7, but unfortunately, I have to stick with 2.1.7 because of this issue. (And, of course, the maven repos only have 2.3, so I have to do an annoying workaround for it) Example Code: (Issue is with the lineItems mapping from the first resultMap) resultMap class=com.acp.beans.OrderCart id=cartBean result property=id column=cart_id/ result property=orderId column=order_id nullValue=-1/ result property=lineItems column=cart_id select=getLineItems/ result property=user column=user_id select=getUserById/ result property=created column=create_dt/ /resultMap resultMap class=com.acp.beans.OrderItems id=lineItemsBean result property=id column=order_item_id / result property=cartId column=cart_id/ result property=quantity column=quantity/ result property=orderPictureBean column=picture_id select=getOrderPictures/ result property=pictureSize.id column=picture_size_id/ result property=pictureSize.title column=picture_size_title/ result property=pictureSize.cost column=picture_size_cost/ result property=pictureSize.pictureUrl column=picture_size_link_url_th/ result property=pictureType.id column=picture_type_id/ result property=pictureType.title column=picture_type_title/ result property=pictureType.cost column=picture_type_cost/ /resultMap select id=getLineItems parameterClass=java.lang.Integer resultMap=lineItemsBean SELECT OI.cart_id, OI.order_item_id, OI.quantity, OI.picture_id, OI.picture_size as picture_size_id, PS.title AS picture_size_title, PS.cost AS picture_size_cost, PS.link_url_th AS picture_size_link_url_th, OI.picture_type as picture_type_id, PT.title AS picture_type_title, PT.cost AS picture_type_cost FROM tb_OrderItem OI JOIN tb_PictureSize PS on PS.picture_size_id = OI.picture_size JOIN tb_PictureType PT on PT.picture_type_id = OI.picture_type WHERE OI.cart_id = #cart_id# /select -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - To unsubscribe, e-mail: dev-unsubscr...@ibatis.apache.org For additional commands, e-mail: dev-h...@ibatis.apache.org
[jira] Commented: (IBATIS-483) Empty/Null resultset from subselect causes NPE
[ https://issues.apache.org/jira/browse/IBATIS-483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12708532#action_12708532 ] Kai Grabfelder commented on IBATIS-483: --- I can't reproduce this within a unit test within the current iBATIS trunk. SqlMapExecutorDelegate.java:734 in 2.3.4 looks like: txManager.end(sessionScope); So the only thing causing a NPE could be a null txManager. I guess there must be something wrong with your transaction configuration. Could you please check this? A unit test showing the exception against the current iBATIS trunk would also be highly anticipated Empty/Null resultset from subselect causes NPE -- Key: IBATIS-483 URL: https://issues.apache.org/jira/browse/IBATIS-483 Project: iBatis for Java Issue Type: Bug Components: SQL Maps Affects Versions: 2.3.2, 2.3.3, 2.3.4 Environment: Ubuntu Linux, Tomcat 5/6, MySQL Reporter: John Crawford Fix For: 2.3.5 Attachments: ibatis-npe.txt When doing a subselect (using maps), I get a NPE when the result of the subselect is null/empty. I believe that this occurs in every version since 2.1.7, but unfortunately, I have to stick with 2.1.7 because of this issue. (And, of course, the maven repos only have 2.3, so I have to do an annoying workaround for it) Example Code: (Issue is with the lineItems mapping from the first resultMap) resultMap class=com.acp.beans.OrderCart id=cartBean result property=id column=cart_id/ result property=orderId column=order_id nullValue=-1/ result property=lineItems column=cart_id select=getLineItems/ result property=user column=user_id select=getUserById/ result property=created column=create_dt/ /resultMap resultMap class=com.acp.beans.OrderItems id=lineItemsBean result property=id column=order_item_id / result property=cartId column=cart_id/ result property=quantity column=quantity/ result property=orderPictureBean column=picture_id select=getOrderPictures/ result property=pictureSize.id column=picture_size_id/ result property=pictureSize.title column=picture_size_title/ result property=pictureSize.cost column=picture_size_cost/ result property=pictureSize.pictureUrl column=picture_size_link_url_th/ result property=pictureType.id column=picture_type_id/ result property=pictureType.title column=picture_type_title/ result property=pictureType.cost column=picture_type_cost/ /resultMap select id=getLineItems parameterClass=java.lang.Integer resultMap=lineItemsBean SELECT OI.cart_id, OI.order_item_id, OI.quantity, OI.picture_id, OI.picture_size as picture_size_id, PS.title AS picture_size_title, PS.cost AS picture_size_cost, PS.link_url_th AS picture_size_link_url_th, OI.picture_type as picture_type_id, PT.title AS picture_type_title, PT.cost AS picture_type_cost FROM tb_OrderItem OI JOIN tb_PictureSize PS on PS.picture_size_id = OI.picture_size JOIN tb_PictureType PT on PT.picture_type_id = OI.picture_type WHERE OI.cart_id = #cart_id# /select -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IBATIS-483) Empty/Null resultset from subselect causes NPE
[ https://issues.apache.org/jira/browse/IBATIS-483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12704967#action_12704967 ] Kai Grabfelder commented on IBATIS-483: --- could you please post a stacktrace so that we can see where the NPE occurs? A testcase would also be really great Empty/Null resultset from subselect causes NPE -- Key: IBATIS-483 URL: https://issues.apache.org/jira/browse/IBATIS-483 Project: iBatis for Java Issue Type: Bug Components: SQL Maps Affects Versions: 2.3.0 Environment: Ubuntu Linux, Tomcat 5/6, MySQL Reporter: John Crawford Fix For: 2.1.7 When doing a subselect (using maps), I get a NPE when the result of the subselect is null/empty. I believe that this occurs in every version since 2.1.7, but unfortunately, I have to stick with 2.1.7 because of this issue. (And, of course, the maven repos only have 2.3, so I have to do an annoying workaround for it) Example Code: (Issue is with the lineItems mapping from the first resultMap) resultMap class=com.acp.beans.OrderCart id=cartBean result property=id column=cart_id/ result property=orderId column=order_id nullValue=-1/ result property=lineItems column=cart_id select=getLineItems/ result property=user column=user_id select=getUserById/ result property=created column=create_dt/ /resultMap resultMap class=com.acp.beans.OrderItems id=lineItemsBean result property=id column=order_item_id / result property=cartId column=cart_id/ result property=quantity column=quantity/ result property=orderPictureBean column=picture_id select=getOrderPictures/ result property=pictureSize.id column=picture_size_id/ result property=pictureSize.title column=picture_size_title/ result property=pictureSize.cost column=picture_size_cost/ result property=pictureSize.pictureUrl column=picture_size_link_url_th/ result property=pictureType.id column=picture_type_id/ result property=pictureType.title column=picture_type_title/ result property=pictureType.cost column=picture_type_cost/ /resultMap select id=getLineItems parameterClass=java.lang.Integer resultMap=lineItemsBean SELECT OI.cart_id, OI.order_item_id, OI.quantity, OI.picture_id, OI.picture_size as picture_size_id, PS.title AS picture_size_title, PS.cost AS picture_size_cost, PS.link_url_th AS picture_size_link_url_th, OI.picture_type as picture_type_id, PT.title AS picture_type_title, PT.cost AS picture_type_cost FROM tb_OrderItem OI JOIN tb_PictureSize PS on PS.picture_size_id = OI.picture_size JOIN tb_PictureType PT on PT.picture_type_id = OI.picture_type WHERE OI.cart_id = #cart_id# /select -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IBATIS-483) Empty/Null resultset from subselect causes NPE
[ https://issues.apache.org/jira/browse/IBATIS-483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12676398#action_12676398 ] aaron pieper commented on IBATIS-483: - I am also affected by this issue. As John has indicated, the behavior works fine in 2.1.7.597, but is broken in 2.3.4.726. As far as your complaint about the maven repos only having 2.3 - this isn't true. iBiblio hosts the older iBatis jars, although they have changed location. The older jars are located under com/ibatis/ibatis2-sqlmap and com/ibatis/ibatis2-common. Empty/Null resultset from subselect causes NPE -- Key: IBATIS-483 URL: https://issues.apache.org/jira/browse/IBATIS-483 Project: iBatis for Java Issue Type: Bug Components: SQL Maps Affects Versions: 2.3.0 Environment: Ubuntu Linux, Tomcat 5/6, MySQL Reporter: John Crawford Fix For: 2.1.7 When doing a subselect (using maps), I get a NPE when the result of the subselect is null/empty. I believe that this occurs in every version since 2.1.7, but unfortunately, I have to stick with 2.1.7 because of this issue. (And, of course, the maven repos only have 2.3, so I have to do an annoying workaround for it) Example Code: (Issue is with the lineItems mapping from the first resultMap) resultMap class=com.acp.beans.OrderCart id=cartBean result property=id column=cart_id/ result property=orderId column=order_id nullValue=-1/ result property=lineItems column=cart_id select=getLineItems/ result property=user column=user_id select=getUserById/ result property=created column=create_dt/ /resultMap resultMap class=com.acp.beans.OrderItems id=lineItemsBean result property=id column=order_item_id / result property=cartId column=cart_id/ result property=quantity column=quantity/ result property=orderPictureBean column=picture_id select=getOrderPictures/ result property=pictureSize.id column=picture_size_id/ result property=pictureSize.title column=picture_size_title/ result property=pictureSize.cost column=picture_size_cost/ result property=pictureSize.pictureUrl column=picture_size_link_url_th/ result property=pictureType.id column=picture_type_id/ result property=pictureType.title column=picture_type_title/ result property=pictureType.cost column=picture_type_cost/ /resultMap select id=getLineItems parameterClass=java.lang.Integer resultMap=lineItemsBean SELECT OI.cart_id, OI.order_item_id, OI.quantity, OI.picture_id, OI.picture_size as picture_size_id, PS.title AS picture_size_title, PS.cost AS picture_size_cost, PS.link_url_th AS picture_size_link_url_th, OI.picture_type as picture_type_id, PT.title AS picture_type_title, PT.cost AS picture_type_cost FROM tb_OrderItem OI JOIN tb_PictureSize PS on PS.picture_size_id = OI.picture_size JOIN tb_PictureType PT on PT.picture_type_id = OI.picture_type WHERE OI.cart_id = #cart_id# /select -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.