Description
To reference an inner class, xdoclet requires it to be referenced as Outer.Inner while OJB requires it to be referenced as Outer$Inner. This makes it impossible to get a correct mapping using the xdoclet plugin. Here's a truncated example that demonstrates the problem:
/**
- @ojb.class
*/
public class History {
/** - @ojb.class
*/
public static class Change { // change log info... }
/**
- @ojb.collection foreignkey="..."
- element-class-ref="...History$Change"
*/
private List changes;
}
xdoclet will report "Collection changes in class ...History references an unknown class ...History$Change." Replacing the '$' with a '.' will allow xdoclet to generate the mapping, but OJB will fail to load the repository, reporting a ClassNotFoundException for ...History.Change. The repository_user.xml needs to be manually editted after generation by xdoclet.