If it's an inner join, properly indexed, it shouldn't be too bad....
From: Hugh Ross [mailto:[EMAIL PROTECTED] Sent: January-30-08 12:36 PM To: [email protected] Subject: Re: Safe to replace valueObject in RowHandler? Yes, we have begun experimenting with discriminators and subMaps. But, I want to avoid a 15 table join... On 1/30/08, Clinton Begin <[EMAIL PROTECTED]> wrote: Unfortunately that's not possible in Java, let alone with iBATIS. If you're just trying to create subclasses based on a type column in the database, look up "discriminator" in the ibatis documentation or mailing list archives... Clinton From: Hugh Ross [mailto:[EMAIL PROTECTED] Sent: January-30-08 9:23 AM To: [email protected] Subject: Safe to replace valueObject in RowHandler? Trying to be more specific: Is it safe to create another object in the handleRow method, and set the valueObject to it? Is it safe to use queryForObject from within a handleRow method? I've seen other posts that imply it is. Will that object then replace the original one, if it was created by a queryForList or queryForObject call? If I don't hear back, I guess I'll try it to see... Thanks... On 1/29/08, Hugh Ross <[EMAIL PROTECTED]> wrote: I have the good fortune to work on a large domain model, part of which uses too much inheritance. I don't want to use a huge outer join with 15 or 20 tables in it. I'm wondering if I can use RowHandlers to help. In particular, is it possible for a RowHandler to replace the object passed to the handleRow method? E.g., public void handleRow (Object valueObject) throws SQLException { Person person = (Person) valueObject; valueObject = MyFactory.createSubClassObject( person ); } Any other sample solutions to this kind of problem are also most welcome...
