Hello, I got a problem with the following code snippet: tx.begin(); System.out.println("creating "+3*NUM+" records"); t0=System.currentTimeMillis(); for(int i=0; i<NUM; i++){ customer=new Customer("no", "one", "here", ""+System.currentTimeMillis(), "eternity", 2, new Date()); db.makePersistent(customer); Zertifikatschein z1=new Zertifikatschein("Z1"); Zertifikat zz=new Zertifikat(); db.makePersistent(zz); Option o1=new Option(); zz.addOption(o1); z1.addOption(o1); customer.addSchein(z1); customer.addSchein(new Zertifikatschein("Z2 ")); System.out.print("."); } t1=System.currentTimeMillis(); System.out.println("\n" + (t1-t0) + " msec"); tx.commit();
(Relations: customer <-> n Zertifikatschein <-> n Option m <-> Zertifikat) When committing, I get the following error: "ERROR: option_fk_2 referential integrity violation - key referenced from option not found in zertifikat" OK, this is the relation from "Option" to "Zertifikat" (bidirectional). If i remove the foreign key constraint (navigability) from "Option" all works out fine AND: the foreign keys are all there in the "Option" table ... What have I done (wrong...)? Best Regards, -Gunnar PS: Project Schema follows <?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> <!DOCTYPE database SYSTEM "http://jakarta.apache.org/turbine/dtd/database.dtd"> <!-- Generated by the xdoclet-ojb module --> <database name="lotto"> <table name="customer"> <column name="key" javaName="key" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" /> <column name="vorname" javaName="vorname" type="VARCHAR" size="24" /> <column name="nachname" javaName="nachname" type="VARCHAR" size="64" /> <column name="anrede" javaName="anrede" type="VARCHAR" size="24" /> <column name="strasse" javaName="strasse" type="VARCHAR" size="24" /> <column name="plz" javaName="plz" type="INTEGER" /> <column name="wohnort" javaName="wohnort" type="VARCHAR" size="24" /> <column name="geburtsdatum" javaName="geburtsdatum" type="TIMESTAMP" /> <column name="benutzername" javaName="benutzername" type="VARCHAR" size="24" /> <column name="kundennummerttcall" javaName="kundennummerttcall" type="VARCHAR" size="24" /> <column name="email" javaName="email" type="VARCHAR" size="24" /> <column name="status" javaName="status" type="VARCHAR" size="24" /> </table> <table name="zertifikat"> <column name="key" javaName="key" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" /> </table> <table name="reservierung"> <column name="id" javaName="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" /> <column name="startdate" javaName="startdate" type="TIMESTAMP" /> <column name="enddate" javaName="enddate" type="TIMESTAMP" /> <column name="optionen" javaName="optionen" type="VARCHAR" size="511" /> <column name="tippId" javaName="tippId" type="INTEGER" /> <column name="zertifikatId" javaName="zertifikatId" type="INTEGER" /> <foreign-key foreignTable="tipp"> <reference local="tippId" foreign="id"/> </foreign-key> <foreign-key foreignTable="zertifikat"> <reference local="zertifikatId" foreign="key"/> </foreign-key> </table> <table name="tipp"> <column name="id" javaName="id" type="INTEGER" primaryKey="true" required="true" /> </table> <table name="product"> <column name="key" javaName="key" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" /> <column name="startWoche" javaName="startWoche" type="TIMESTAMP" /> <column name="zertifikatId" javaName="zertifikatId" type="INTEGER" /> <foreign-key foreignTable="zertifikat"> <reference local="zertifikatId" foreign="key"/> </foreign-key> </table> <table name="option"> <column name="key" javaName="key" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" /> <column name="zertifikatScheinId" javaName="zertifikatScheinId" type="INTEGER" /> <column name="zertifikatId" javaName="zertifikatId" type="INTEGER" /> <foreign-key foreignTable="zertifikatschein"> <reference local="zertifikatScheinId" foreign="key"/> </foreign-key> <foreign-key foreignTable="zertifikat"> <reference local="zertifikatId" foreign="key"/> </foreign-key> </table> <table name="zertifikatschein"> <column name="key" javaName="key" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" /> <column name="psdata" javaName="psdata" type="VARCHAR" size="2048" /> <column name="created" javaName="created" type="TIMESTAMP" /> <column name="customerId" javaName="customerId" type="INTEGER" /> <column name="printed" javaName="printed" type="TIMESTAMP" /> <foreign-key foreignTable="customer"> <reference local="customerId" foreign="key"/> </foreign-key> </table> </database> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]