db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter S. Hamlen" <pham...@mail.com>
Subject Re: how to set the PK manually?
Date Mon, 10 Feb 2003 23:21:59 GMT
Marc,

My understanding is that you cannot accomplish this if it's a primary
key.  Primary keys, by their definition, are generated automatically so
that there aren't any duplicates.

As Justin Campbell mentioned in a previous email, you might want to have
Table B have a foreign-key to table A (that's how most of us accomplish
this.)

The other option (if you're really talking about "extending") is to add
the columns for B into table A - and add a "type" column that indicates
whether the object in the table is of type A or B.

For example:

<table name="PaymentPlans">
  <column name="Type" description="Annual or Monthly"/>
  <column name="MonthlyBillDate" description="Only used for Monthly
types"/>
  <column name="AnnualBillDate" description="Only used for annual
plans"/>
  <column name="AmountDue" type="INTEGER"/>
 </table>

You can find more information about this in the "Inheritance" section of
Torque.

-Peter
On Thu, 2003-02-06 at 13:20, Marc Lustig wrote:
> Hi,
> 
> I'm creating a new instance (row) and set the PK to a certain value.
> (I need to do this because this table B extends another table A, so the PK
> in table B must be the same as in table A.)
> 
> My defaultIdMethod is "idbroker":
> <database defaultIdMethod="idbroker"...
> 
> And to make torque not generating the PK I set idMethod="none":
> <table name="B" idMethod="none">
> 
> Problem is when I trigger save() torque still generates a new PK and assigns
> it. How comes that?
> How can I make torque not to auto-generate a new primary key when save() is
> called?
> 
> Thanks!
> 
> Marc
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
> 



Mime
View raw message