We've fought for a long time to understand why we were getting TimeoutExceptions from JBC, even when the load was apparantly light. With some help from a DBA we were able to determine that the problem was with node.getChildrenNames(), since that call selects from FQN via WHERE clause in Parent. As our tree got larger the cost of a full tablescan on PARENT became completely unbearable.
The simple solution was to setup an index on PARENT like so in the oracle db
CREATE INDEX JBC_PARENT_INDEX ON JBC(PARENT);
Doing this VASTLY improved our performance overall, and I'm wondering now if there is any reason not to request this as a feature/bugfix for the general population?