I don't have the answer, because I haven't had the issue,
but would it be possible to use token replacement like clinton described
last week?
I have no idea of you can replace the tokens runtime for the session
though...
<select id="findOrders" parameterClass="org.test.OrderSearchCriteria"
resultMap="OrderDataResult">
ORDER_${company} where ORNO = $id$
</select>
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: 04 May 2009 04:04 PM
To: [email protected]
Subject: Lazy loading when having dynamic table names
Hi!
In our DB schema (that cannot be changed) we got dynamic table names,
depending
on the current company, i.e. there are tables ORDER_100, ORDER_200,... with
ORDER_100 being company 100's ORDER table, etc.
Now everything is fine, for a single select, as I can pass the current
company
as a parameter and configure query like this:
<select id="findOrders" parameterClass="org.test.OrderSearchCriteria"
resultMap="OrderDataResult">
ORDER_$company$ where ORNO = $id$
</select>
But what if i want to get ORDER table's related CUSTOMER using lazy loading?
Then I will need something like:
<select id="getCustomerById" resultMap="CustomerDataResult">
CUSTOMER_$company$ where CUNO =#id#
</select>
with the resultMap of orders looking like this:
<resultMap id="OrderDataResult" class="OrderData">
<result property="orderNumber" column="ORNO" />
<result property="customer" column="CUNO" select="getCustomerById" />
</resultMap>
And I can see no possibility to pass the 'company' parameter to
getCustomerById
select...
I think of generating sqlmap configuration dynamically, i.e. there would be
a
get getCustomerById_100, getCustomerById_200, etc. then. But that's poor and
ugly...
What would be useful is some global variable that could be set on the
current
session, or something, and one could use within any statement then.
Do you have a solution to this problem?
Any comments are greatly appreciated!
Gratis: Jeden Monat 3 SMS versenden-
Mit freenetMail - Ihrer kostenlose E-Mail-Adresse
http://email.freenet.de/dienste/emailoffice/produktuebersicht/basic/sms/inde
x.html?pid=6830
No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.287 / Virus Database: 270.12.16/2094 - Release Date: 05/03/09
16:51:00