I see a need to do this myself. Wieger, we are doing something like you
suggested with one hitch....

Basically, we have a core application which is like a jumpstart application.
It contains all of the security DB tables etc.We have 3 dependent apps on
the core and many future ones in design that will need to use all of this
functionality.

 So far jarring up the CORE and sending to other apps is fine. Except when I
need a FK to one of the core tables from the dependentapp-schema.xml. Then
we have to duplicate this core table entry in the dependentapp-schema.xml.
This causes two identical classes(one in jar and one in dependent app) to be
produced which creates a mess.

Using the external-schema element creates even a bigger mess b/c it
recreates all of the core om classes in the dependent app.

We want to eliminate the core classes from being edited in the dependent app
code base. Only persons who understand how this could affect all apps should
be diving in here.

Any more ideas?
Thanks!
KStone





wieger wrote:
> 
> Hi Thomas,
> 
> When I have two or more web-applications who access the same database I
> usually create a separate jar which contains the generated torque
> classes, and perhaps some other shared classes, and include this in each
> my web-applications. This way you have only one schema file and one set
> of Torque models to maintain. 
> Not sure if this is 'best practice' but it works pretty well. 
> 
> Kind regards,
> Wieger
> -- 
> Us Media
> Stadhouderskade 115
> 1073 AX Amsterdam
> 
> t: +31 20 428 6868
> f: +31 20 470 6905
> w: http://www.usmedia.nl
> 
> 
> ----- Original Message -----
> From: "Thomas UNG" <[EMAIL PROTECTED]>
> To: torque-user@db.apache.org
> Sent: Monday, February 19, 2007 4:50:06 PM (GMT+0100) Europe/Berlin
> Subject: "inherence" accross 2 differents schemas / reuse some objects
> from one schema by another one
> 
> Hi,
> 
> I have some questions related to two different webapps sharing the same
> schema.
> 
> Let's say that I ve two webapps A and B pointing to the same DB and the
> B have the om classes generated by the webapp A in its lib directory.
> 
> * In schema A:
> 
> <table name="COUNTRY" idMethod="native">
>   <column name="BASEID" type="INTEGER" required="true" javaName="BaseId"
> primaryKey="true" autoIncrement="true"/>
>   <column name="UNIQUENAME"     .../>
>   [+ some others columns ...]
> </table>
> 
> * In schema B:
> 
>   <table name="COUNTRY"
>         baseClass="A.om.Country"
>         basePeer="A.om.CountryPeer"
>         skipSql="true">
>     <column name="BASEID"         type="INTEGER"
> required="true" javaName="BaseId" primaryKey="true" autoIncrement="true"
>  />
>   </table>
> 
> In the classes generated by torque in webapp B, I do have the following:
> 
> B.com.Country.getUniqueName()
> 
> getUniqueName() is a method inherited from A.om.Country
> 
> However, this method returns null because 'uniquename' is a private
> attribute and torque only do the following selection:
> 
> SELECT COUNTRY.BASEID FROM COUNTRY WHERE COUNTRY.BASEID=73
> 
> So I do have 2 workarrounds:
>   - add "UniqueName" column in B schema
>   - or get the id and use it to retrieve A.om.Country object to get all
> fields.
> 
> Can anyone tell me what is the best practices?
> 
> Thanks in advance,
> Thomas UNG
> 
> I am using torque 3.1.1 with turbine 2.3.2
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

-- 
View this message in context: 
http://www.nabble.com/%22inherence%22-accross-2-differents-schemas---reuse-some-objects-from-one-schema-by-another-one-tf3253557.html#a11260581
Sent from the Apache DB - Torque Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to