You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by "Voorhoeve, Niels {PBG}" <ni...@pepsi.com> on 2005/10/13 20:57:32 UTC

Namespaces for Select Attribute

Hey All,

I was hoping that I would be able to use the namespace feature to refer to a
select in another file.  Apparently this is not doable.  
Would it be hard to implement?  Would it cause potential problems with
circular dependencies (resultmap -> select -> resultmap)?

Niels

In PurchaseHeader.xml:
<sqlMap namespace="PurchaseHeader"> 
      etc...
	<resultMap id="PurchaseHeaderAndDetails-result"
class="PurchaseHeader" extends="PurchaseHeader-result">
		<result property="purchaseDetails"
				column="order_no"
				select="PurchaseDetail.getPurchaseDetail"
		/>
	</resultMap>
	etc...
</sqlMap>

In PurchaseDetail.xml:
<sqlMap namespace="PurchaseDetail">
...<select id="getPurchaseDetail" ...></select>
</sqlMap

Re: Namespaces for Select Attribute

Posted by Larry Meadors <lm...@apache.org>.
Yes, you can do that, but there is currently a limitation that the
sqlmap that you are referring to has to be included in the
sqlmapconfig before the sql map that refers to it.

Larry


On 10/13/05, Voorhoeve, Niels {PBG} <ni...@pepsi.com> wrote:
> Hey All,
>
> I was hoping that I would be able to use the namespace feature to refer to a
> select in another file.  Apparently this is not doable.
> Would it be hard to implement?  Would it cause potential problems with
> circular dependencies (resultmap -> select -> resultmap)?
>
> Niels
>
> In PurchaseHeader.xml:
> <sqlMap namespace="PurchaseHeader">
>       etc...
>         <resultMap id="PurchaseHeaderAndDetails-result"
> class="PurchaseHeader" extends="PurchaseHeader-result">
>                 <result property="purchaseDetails"
>                                 column="order_no"
>                                 select="PurchaseDetail.getPurchaseDetail"
>                 />
>         </resultMap>
>         etc...
> </sqlMap>
>
> In PurchaseDetail.xml:
> <sqlMap namespace="PurchaseDetail">
> ...<select id="getPurchaseDetail" ...></select>
> </sqlMap
>

Re: Namespaces for Select Attribute

Posted by Nathan Maves <Na...@Sun.COM>.
I think this should work....

What is the error that you are receiving? And why do you think that  
this is a circular relationship since they are two different result  
maps?

Nathan

On Oct 13, 2005, at 12:57 PM, Voorhoeve, Niels {PBG} wrote:

> Hey All,
>
> I was hoping that I would be able to use the namespace feature to  
> refer to a
> select in another file.  Apparently this is not doable.
> Would it be hard to implement?  Would it cause potential problems with
> circular dependencies (resultmap -> select -> resultmap)?
>
> Niels
>
> In PurchaseHeader.xml:
> <sqlMap namespace="PurchaseHeader">
>       etc...
>     <resultMap id="PurchaseHeaderAndDetails-result"
> class="PurchaseHeader" extends="PurchaseHeader-result">
>         <result property="purchaseDetails"
>                 column="order_no"
>                 select="PurchaseDetail.getPurchaseDetail"
>         />
>     </resultMap>
>     etc...
> </sqlMap>
>
> In PurchaseDetail.xml:
> <sqlMap namespace="PurchaseDetail">
> ...<select id="getPurchaseDetail" ...></select>
> </sqlMap
>


Re: Namespaces for Select Attribute

Posted by Dan Bradley <de...@gmail.com>.
Just a sanity check - did you put useStatementNamespaces="true" in
your main config?

On 10/13/05, Voorhoeve, Niels {PBG} <ni...@pepsi.com> wrote:
> Hey All,
>
> I was hoping that I would be able to use the namespace feature to refer to a
> select in another file.  Apparently this is not doable.
> Would it be hard to implement?  Would it cause potential problems with
> circular dependencies (resultmap -> select -> resultmap)?
>
> Niels
>
> In PurchaseHeader.xml:
> <sqlMap namespace="PurchaseHeader">
>       etc...
>         <resultMap id="PurchaseHeaderAndDetails-result"
> class="PurchaseHeader" extends="PurchaseHeader-result">
>                 <result property="purchaseDetails"
>                                 column="order_no"
>                                 select="PurchaseDetail.getPurchaseDetail"
>                 />
>         </resultMap>
>         etc...
> </sqlMap>
>
> In PurchaseDetail.xml:
> <sqlMap namespace="PurchaseDetail">
> ...<select id="getPurchaseDetail" ...></select>
> </sqlMap
>

Re: Namespaces for Select Attribute

Posted by re...@sonic.net.
You can do this.

Does your settings have useStatementNamespaces? E.g.

<settings enhancementEnabled="true" maxTransactions="5" maxRequests="32"
maxSessions="10" useStatementNamespaces="true"/>

Are you sure you have imported both of your sqlMaps in your config? e.g.

<sqlMap resource="com/pepsi/blah1.xml"/>
<sqlMap resource="com/pepsi/blah2.xml"/>

What error are you seeing, otherwise?



> Hey All,
>
> I was hoping that I would be able to use the namespace feature to refer to
> a
> select in another file.  Apparently this is not doable.
> Would it be hard to implement?  Would it cause potential problems with
> circular dependencies (resultmap -> select -> resultmap)?
>
> Niels
>
> In PurchaseHeader.xml:
> <sqlMap namespace="PurchaseHeader">
>       etc...
> 	<resultMap id="PurchaseHeaderAndDetails-result"
> class="PurchaseHeader" extends="PurchaseHeader-result">
> 		<result property="purchaseDetails"
> 				column="order_no"
> 				select="PurchaseDetail.getPurchaseDetail"
> 		/>
> 	</resultMap>
> 	etc...
> </sqlMap>
>
> In PurchaseDetail.xml:
> <sqlMap namespace="PurchaseDetail">
> ...<select id="getPurchaseDetail" ...></select>
> </sqlMap
>
>