ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Goodin" <brandon.goo...@gmail.com>
Subject Re: howto : Degenerated case of heterogenous lists.
Date Wed, 14 Feb 2007 15:35:08 GMT
It could be solved if you combined address1,2,3 into a list and used the
groupby functionality.

Customer {
        firstName : string
        lastName : string
        addresses : List
}

If you want to return the address through address1, 2, 3 getters you could
always add the getters and have them draw from the list indexes.

getAddress1() {
  if (addresses.getSize() > 0) return addresses.get(0) : return null;
}

getAddress2() {
  if (addresses.getSize() > 1) return addresses.get(1) : return null;
}

getAddress3() {
  if (addresses.getSize() > 2) return addresses.get(2) : return null;
}



Brandon

On 2/14/07, Thibaut Fagart <thibaut.fagart@hsbc.fr> wrote:
>
>
> Hi,
> I'm currently evaluating IBatis for the corporation I work with, and
> trying
> to use it to solve a case we have.
>
> We have a model like this
>
> Customer {
>         firstName : string
>         lastName : string
>         address1 : Address
>         address2 : Address
>         address3 : Address
> }
> where Address is a simple class.
>
> All the addresses happen to be stored in the same table, with a join to
> the
> customer table, and a flag indicating which address this is (address1,
> address2 or address3).
>
> The request that used to be used to solve this case is something like that
>
> select [customer columns], [address columns], address_flag  from customer,
> address
> where customer.id = address.id_customer
>
> This would return 3 rows, with the curstomer information duplicated, and
> the
> resultSet consuming code would sort out which address attributes
> (address1,
> address2 or address3) has to be set with the current row depending on
> address_flag value.
>
> I've seen support for returning heterogenous lists using the discriminator
> tag, but this doesn't solve my problem, does it ?
>
> Would there be a way to solve this case with only 1 request to the
> database
> ?
> --
> View this message in context:
> http://www.nabble.com/howto-%3A-Degenerated-case-of-heterogenous-lists.-tf3227674.html#a8966314
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>

Mime
View raw message