I am having a problem with torque and foreign-keys... It seems that when I
specify a foreign-key in my scheme.xml file... torque does not proerly
generate my peer classes...
here is my scheme file...:
<database name="Compass">
<table name="Venue" idMethod="idbroker">
<column name="venue_id" required="true" primaryKey="true" type="INTEGER"/>
<column name="name" required="true" size="255" type="VARCHAR"/>
<column name="contact" size="255" type="VARCHAR"/>
<column name="address1" size="255" type="VARCHAR"/>
<column name="address2" size="255" type="VARCHAR"/>
<column name="city" size="255" type="VARCHAR"/>
<column name="state" size="255" type="VARCHAR"/>
<column name="zip" size="255" type="VARCHAR"/>
<column name="phone" size="255" type="VARCHAR"/>
<column name="fax" size="255" type="VARCHAR"/>
<column name="email1" size="255" type="VARCHAR"/>
<column name="email2" size="255" type="VARCHAR"/>
<column name="web" size="255" type="VARCHAR"/>
</table>
<table name="VenueDataDef" idMethod="idbroker">
<column name="venueDataDef_id" required="true" primaryKey="true"
type="INTEGER"/>
<column name="name" required="true" size="255" type="VARCHAR"/>
<column name="type" required="true" size="11" type="INTEGER"/>
<column name="priority" required="true" type="TINYINT"/>
<column name="defValue" size="255" type="VARCHAR"/>
<column name="comment" size="255" type="VARCHAR"/>
<unique>
<unique-column name="name"/>
</unique>
</table>
<table name="VenueData">
<column name="venue_id" required="true" primaryKey="true" type="INTEGER"/>
<column name="venueDataDef_id" required="true" type="INTEGER"/>
<column name="data" required="true" type="BLOB"/>
<column name="comment" size="255" type="VARCHAR"/>
<!-- for some reason the following does not work: -->
<foreign-key foreignTable="Venue">
<reference local="venue_id" foreign="venue_id"/>
</foreign-key>
</table>
</database>
and this is what I get trying to compile the generated peer classes:
[javac] Compiling 9 source files to
/home/luke/resin/webapps/Compass/WEB-INF/classes
[javac]
/home/luke/resin/webapps/Compass/WEB-INF/src/java/com/digitalrhythm/Compass/om/BaseVenuedataPeer.java:485:
cannot resolve symbol
[javac] symbol : method addVenuedata
(com.digitalrhythm.Compass.om.Venuedata)
[javac] location: class com.digitalrhythm.Compass.om.Venue
[javac] temp_obj2.addVenuedata(obj1);
[javac] ^
[javac]
/home/luke/resin/webapps/Compass/WEB-INF/src/java/com/digitalrhythm/Compass/om/BaseVenuedataPeer.java:491:
cannot resolve symbol
[javac] symbol : method initVenuedatas ()
[javac] location: class com.digitalrhythm.Compass.om.Venue
[javac] obj2.initVenuedatas();
[javac] ^
[javac]
/home/luke/resin/webapps/Compass/WEB-INF/src/java/com/digitalrhythm/Compass/om/BaseVenuedataPeer.java:492:
cannot resolve symbol
[javac] symbol : method addVenuedata
(com.digitalrhythm.Compass.om.Venuedata)
[javac] location: class com.digitalrhythm.Compass.om.Venue
[javac] obj2.addVenuedata(obj1);
[javac] ^
[javac] 3 errors
etc etc
What appears to happen is torque is just not generating the addVenueData and
initVenueDatas methods.
If I remove the foreign key from my scheme file, the peer classes compile
just fine.
However, I would rather like to make use of this feature.. anyone have any
idea what could be going on here?
Thanks a bunch!
Luke
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>