You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-user@db.apache.org by Kintzel Levente <ki...@softech.ro> on 2005/02/22 14:29:21 UTC

Arrays in OM classes

   Hi!

I have a simple design question.
I want to creat a database with contact information (id, name, adress,  
phone no), but the contact can have more than one phonenumber. The  
simplest solution for this problem is the normalization and to create 2  
tables (one with id, name and adress and one with the id and phone  
numbers), but I want to be able to load automatically all phone  numbers  
when I load the data of one contact. In other words to have an array in  
the generated ContactOM class. Is that possible? Or there are some design  
solutions for this problem?

Thank You

        Levente Kintzel


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Re: Arrays in OM classes

Posted by Howard Lin <xu...@gmail.com>.
This has been taken care of. Actually a List will be returned from the
Contact OM class. You need to specify the foreign key relations of
your 2 tables in the database XML file.

Howard


On Tue, 22 Feb 2005 15:29:21 +0200, Kintzel Levente
<ki...@softech.ro> wrote:
> 
>    Hi!
> 
> I have a simple design question.
> I want to creat a database with contact information (id, name, adress,
> phone no), but the contact can have more than one phonenumber. The
> simplest solution for this problem is the normalization and to create 2
> tables (one with id, name and adress and one with the id and phone
> numbers), but I want to be able to load automatically all phone  numbers
> when I load the data of one contact. In other words to have an array in
> the generated ContactOM class. Is that possible? Or there are some design
> solutions for this problem?
> 
> Thank You
> 
>         Levente Kintzel
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Re: Arrays in OM classes

Posted by Thomas Fischer <fi...@seitenbau.net>.




Hi Andras,

you are right, this is a possibility I did not think of. However (to excuse
my forgetfulness just a bit), there might be situtations where this is not
enough, e.g. if you you have a deeper tree of objects, or if you want to
load some dependencies instantly and lazy-load the others.

    Thomas

Andras Balogh <an...@reea.net> schrieb am 22.02.2005 17:09:18:

> Hello Thomas,
>
>     My understanding  is that if in the XML schema the foreign key
> relation is defined Torque
> will generate a protected method in BaseContactPeer
> doSelectCotactJoinByPhoneNumbers() (or something like that)
> So all that needs to be done is to make it public in ContactPeer.
>     This is not true any more? I know i have used this feature of Torque
> (3.0 and 3.1) several times.
>
>
> Best regards,
> Andras.
>
>
> Thomas Fischer wrote:
>
> >
> >
> >Hi,
> >
> >You can overwrite the doSelect Methods of your choice in ContactPeer to
> >access the PhoneNumbers. This automatically loads the phone numbers for
the
> >Contact. For example, in ContactPeer you could use
> >
> >public List doSelect(Criteria criteria, Connection connection) {
> >  List result = super.doSelect(criteria, connection);
> >  Iterator contactIt = result.iterator();
> >  while(contactIt.hasNext()) {
> >    Contact contact = (Contact) contactIt.next();
> >    contact.getPhoneNumbers(connection);
> >  }
> >  return result;
> >}
> >
> >Do not forget to overwrite the doSelect methods with other signatures if
> >you use them.
> >
> >   Thomas
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Re: Arrays in OM classes

Posted by Andras Balogh <an...@reea.net>.
Hello Thomas,
   
    My understanding  is that if in the XML schema the foreign key 
relation is defined Torque
will generate a protected method in BaseContactPeer 
doSelectCotactJoinByPhoneNumbers() (or something like that)
So all that needs to be done is to make it public in ContactPeer.
    This is not true any more? I know i have used this feature of Torque 
(3.0 and 3.1) several times.


Best regards,
Andras.


Thomas Fischer wrote:

>
>
>Hi,
>
>You can overwrite the doSelect Methods of your choice in ContactPeer to
>access the PhoneNumbers. This automatically loads the phone numbers for the
>Contact. For example, in ContactPeer you could use
>
>public List doSelect(Criteria criteria, Connection connection) {
>  List result = super.doSelect(criteria, connection);
>  Iterator contactIt = result.iterator();
>  while(contactIt.hasNext()) {
>    Contact contact = (Contact) contactIt.next();
>    contact.getPhoneNumbers(connection);
>  }
>  return result;
>}
>
>Do not forget to overwrite the doSelect methods with other signatures if
>you use them.
>
>   Thomas
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


RE: Arrays in OM classes

Posted by Thomas Fischer <fi...@seitenbau.net>.



Hi,

You can overwrite the doSelect Methods of your choice in ContactPeer to
access the PhoneNumbers. This automatically loads the phone numbers for the
Contact. For example, in ContactPeer you could use

public List doSelect(Criteria criteria, Connection connection) {
  List result = super.doSelect(criteria, connection);
  Iterator contactIt = result.iterator();
  while(contactIt.hasNext()) {
    Contact contact = (Contact) contactIt.next();
    contact.getPhoneNumbers(connection);
  }
  return result;
}

Do not forget to overwrite the doSelect methods with other signatures if
you use them.

   Thomas

"Kintzel Levente" <ki...@softech.ro> schrieb am 22.02.2005
14:29:21:

>
>    Hi!
>
> I have a simple design question.
> I want to creat a database with contact information (id, name, adress,
> phone no), but the contact can have more than one phonenumber. The
> simplest solution for this problem is the normalization and to create 2
> tables (one with id, name and adress and one with the id and phone
> numbers), but I want to be able to load automatically all phone  numbers

> when I load the data of one contact. In other words to have an array in
> the generated ContactOM class. Is that possible? Or there are some design

> solutions for this problem?
>
> Thank You
>
>         Levente Kintzel
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org