ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Voorhoeve, Niels {PBG}" <niels.voorho...@pepsi.com>
Subject RE: Complex property question
Date Mon, 20 Mar 2006 21:50:16 GMT
Sure.  See the following.  Thanks for the help.  

I had originally used order_no in the column attribute in
PurchaseHeader-report resultMap, but that didn't work, so I tried the
"order_no as such_and_such" stuff below that I mentioned in my original
email.

<sqlMap namespace="PurchaseHeader">
	<typeAlias alias="PurchaseHeader"
		type="com.pbg.aps.model.PurchaseHeader" />

	<resultMap class="PurchaseHeader" id="PurchaseHeader-result">
		<result property="orderNo" javaType="java.lang.String"
			column="order_no" />
		... Some other result columns...
	</resultMap>

	
	<resultMap class="PurchaseHeader" id="PurchaseHeader-report"
extends="PurchaseHeader-result">
		<result property="purchaseDetails"
				column="purchase_details"
	
select="PurchaseDetail.getPurchaseDetail"/>
				
    		<result property="shipToAddress" 
    			column="ship_to_address" 
 
select="PurchaseHdrAddr.getPurchaseHdrAddr_shipTo"/>

    		<result property="chargeToAddress" 
    			column="charge_to_address" 
 
select="PurchaseHdrAddr.getPurchaseHdrAddr_chargeTo"/>

    		<result property="requestorAddress" 
    			column="requestor_address" 
 
select="PurchaseHdrAddr.getPurchaseHdrAddr_requestor"/>

    		<result property="shipFromAddress" 
 
column="{supplierNo=supplier_no,supplierLocationNo=supplier_location_no}
"
    			select="SupplierLocation.getSupplierLocation"/>
    			
    		<result property="supplier"
    			column="supplier_no" 
    			select="Supplier.getSupplier"/>
    </resultMap>




	<select id="getPurchaseHeader_Report"
parameterClass="java.lang.String"
		resultMap="PurchaseHeader-report"
cacheModel="PurchaseHeader-cache">
		select 
			t.order_no as purchase_details, 
			t.order_no as ship_to_address, 
			t.order_no as charge_to_address, 
			t.order_no as requestor_address, 
			t.order_no
			...some other columns...
 		FROM dbo.PURCHASE_HEADER t where order_no = #value#
	</select>
 

-----Original Message-----
From: Niels Beekman [mailto:n.beekman@wis.nl] 
Sent: Monday, March 20, 2006 2:02 PM
To: user-java@ibatis.apache.org
Subject: RE: Complex property question

Hi Niels,

Can we see the definition of
'PurchaseHdrAddr.getPurchaseHdrAddr_shipTo'?
This should definitely work...

Niels :)

-----Original Message-----
From: Voorhoeve, Niels {PBG} [mailto:niels.voorhoeve@pepsi.com] 
Sent: maandag 20 maart 2006 18:40
To: user-java@ibatis.apache.org
Subject: Complex property question

Hi,

I have a class PurchaseHeader with several complex address properties
(shipToAddress, chargeToAddress, requestorAddress) that are all keyed by
PurchaseHeader.orderNo.  I am trying to map the addresses to the correct
property, but Ibatis is complaining about my result map (see the result
map below).  Is there a way to map this kind of relationship?  Do I have
to tweak the select to return order_no 3 more times under different
names?

<resultMap class="PurchaseHeader" id="PurchaseHeader-report"
extends="PurchaseHeader-result">
    	<result property="shipToAddress" 
		column="order_no" 
		select="PurchaseHdrAddr.getPurchaseHdrAddr_shipTo"/>

    	<result property="chargeToAddress" 
		column="order_no" 
		select="PurchaseHdrAddr.getPurchaseHdrAddr_chargeTo"/>

    	<result property="requestorAddress" 
		column="order_no" 
		select="PurchaseHdrAddr.getPurchaseHdrAddr_requestor"/>

</resultMap>


<resultMap class="PurchaseHeader" id="PurchaseHeader-result">
	<result property="orderNo" javaType="java.lang.String"
		column="order_no" />
		.
		.
		.
	</resultMap>


The error:
--- Check the PurchaseHeader.PurchaseHeader-report.  
--- Check the result mapping for the 'shipToAddress' property.  
--- Cause: com.ibatis.common.beans.ProbeException: There is no READABLE
property named 'orderNo' in class 'java.lang.String'



Mime
View raw message