I need bidirectional 1:n relation, but I'm still mising something... Please, have a look on a two simple classes.
package oit.ucase;
/**
* @ojb.class include-inherited="true"
* table="USECASE_HIERARCHY"
*/
public class Deposit
{
/**
* Artificial ID key holder
*
* @ojb.field nullable="false"
* autoincrement="ojb"
* primarykey="true"
*/
private int a_id; /**
* @ojb.collection element-class-ref="oit.ucase.DepositIndulgence"
* collection-class="java.util.TreeSet
* foreignkey="deposit_id"
* auto-retrieve="true"
* auto-update="true"
* auto-delete="true"
*/
private java.util.SortedSet indulgences = new java.util.TreeSet();
}package oit.ucase;
/**
* @ojb.class include-inherited="true"
* table="USECASE_HIERARCHY"
*/
public class DepositIndulgence
{
/**
* Referential ID key holder
*
* @ojb.field
*/
private int deposit_id; /**
* Holds value of property deposit.
*
* @ojb.reference class-ref="oit.ucase.Deposit"
* foreignkey="deposit_id"
* auto-retrieve="true"
* auto-update="false"
* auto-delete="false"
*/
private Deposit deposit;
}[ojbdoclet] Generating ojb repository descriptor (repository_user.xml)
[ojbdoclet] Type oit.ucase.Deposit
[ojbdoclet] Type oit.ucase.DepositIndulgence
[ojbdoclet] Processed 2 types
[ojbdoclet] (XDocletMain.start 53 ) Running XDoclet failed.
[ojbdoclet] (XDocletMain.start 54 ) <<The collection indulgences has no foreignkeys>>
[ojbdoclet] at xdoclet.DocletTask.start(DocletTask.java:465)
[ojbdoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110)
[ojbdoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[ojbdoclet] at org.apache.tools.ant.Task.perform(Task.java:364)
[ojbdoclet] at org.apache.tools.ant.Target.execute(Target.java:301)
[ojbdoclet] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[ojbdoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[ojbdoclet] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:383)
[ojbdoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[ojbdoclet] at org.apache.tools.ant.Task.perform(Task.java:364)
[ojbdoclet] at org.apache.tools.ant.Target.execute(Target.java:301)
[ojbdoclet] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[ojbdoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[ojbdoclet] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:383)
[ojbdoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[ojbdoclet] at org.apache.tools.ant.Task.perform(Task.java:364)
[ojbdoclet] at org.apache.tools.ant.Target.execute(Target.java:301)
[ojbdoclet] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[ojbdoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[ojbdoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1063)
[ojbdoclet] at org.apache.tools.ant.Main.runBuild(Main.java:632)
[ojbdoclet] at org.apache.tools.ant.Main.startAnt(Main.java:183)
[ojbdoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:197)
[ojbdoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:56)
[ojbdoclet] Caused by: xdoclet.XDocletException: The collection indulgences has no foreignkeys
[ojbdoclet] at xdoclet.modules.ojb.OjbTagsHandler.prepare(OjbTagsHandler.java:335)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ojbdoclet] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ojbdoclet] at java.lang.reflect.Method.invoke(Method.java:324)
[ojbdoclet] at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:534)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:614)
[ojbdoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469)
[ojbdoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
[ojbdoclet] at xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
[ojbdoclet] at xdoclet.tagshandler.MergeTagsHandler.generateUsingMergedFile(MergeTagsHandler.java:297)
[ojbdoclet] at xdoclet.tagshandler.MergeTagsHandler.merge(MergeTagsHandler.java:120)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ojbdoclet] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ojbdoclet] at java.lang.reflect.Method.invoke(Method.java:324)
[ojbdoclet] at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:534)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:959)
[ojbdoclet] at xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
[ojbdoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
[ojbdoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
[ojbdoclet] at xdoclet.template.TemplateEngine.start(TemplateEngine.java:414)
[ojbdoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:560)
[ojbdoclet] at xdoclet.TemplateSubTask.startProcessForAll(TemplateSubTask.java:616)
[ojbdoclet] at xdoclet.modules.ojb.OjbSubTask.startProcess(OjbSubTask.java:106)
[ojbdoclet] at xdoclet.modules.ojb.OjbSubTask.execute(OjbSubTask.java:90)
[ojbdoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48)
[ojbdoclet] at xdoclet.DocletTask.start(DocletTask.java:462)
[ojbdoclet] ... 23 more
[ojbdoclet] --- Nested Exception ---
[ojbdoclet] xdoclet.XDocletException: The collection indulgences has no foreignkeys
[ojbdoclet] at xdoclet.modules.ojb.OjbTagsHandler.prepare(OjbTagsHandler.java:335)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ojbdoclet] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ojbdoclet] at java.lang.reflect.Method.invoke(Method.java:324)
[ojbdoclet] at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:534)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:614)
[ojbdoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469)
[ojbdoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
[ojbdoclet] at xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
[ojbdoclet] at xdoclet.tagshandler.MergeTagsHandler.generateUsingMergedFile(MergeTagsHandler.java:297)
[ojbdoclet] at xdoclet.tagshandler.MergeTagsHandler.merge(MergeTagsHandler.java:120)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ojbdoclet] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ojbdoclet] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ojbdoclet] at java.lang.reflect.Method.invoke(Method.java:324)
[ojbdoclet] at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:534)
[ojbdoclet] at xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:959)
[ojbdoclet] at xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
[ojbdoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
[ojbdoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
[ojbdoclet] at xdoclet.template.TemplateEngine.start(TemplateEngine.java:414)
[ojbdoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:560)
[ojbdoclet] at xdoclet.TemplateSubTask.startProcessForAll(TemplateSubTask.java:616)
[ojbdoclet] at xdoclet.modules.ojb.OjbSubTask.startProcess(OjbSubTask.java:106)
[ojbdoclet] at xdoclet.modules.ojb.OjbSubTask.execute(OjbSubTask.java:90)
[ojbdoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48)
[ojbdoclet] at xdoclet.DocletTask.start(DocletTask.java:462)
[ojbdoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110)
[ojbdoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[ojbdoclet] at org.apache.tools.ant.Task.perform(Task.java:364)
[ojbdoclet] at org.apache.tools.ant.Target.execute(Target.java:301)
[ojbdoclet] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[ojbdoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[ojbdoclet] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:383)
[ojbdoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[ojbdoclet] at org.apache.tools.ant.Task.perform(Task.java:364)
[ojbdoclet] at org.apache.tools.ant.Target.execute(Target.java:301)
[ojbdoclet] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[ojbdoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[ojbdoclet] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:383)
[ojbdoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:269)
[ojbdoclet] at org.apache.tools.ant.Task.perform(Task.java:364)
[ojbdoclet] at org.apache.tools.ant.Target.execute(Target.java:301)
[ojbdoclet] at org.apache.tools.ant.Target.performTasks(Target.java:328)
[ojbdoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1215)
[ojbdoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1063)
[ojbdoclet] at org.apache.tools.ant.Main.runBuild(Main.java:632)
[ojbdoclet] at org.apache.tools.ant.Main.startAnt(Main.java:183)
[ojbdoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:197)
[ojbdoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:56)
Thanks in advance!
David
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
