We've started using solermetrics Kodo for the JDO implementaton.
I'm surprised at the gotchas with it. Hopefully, someone can clarify the following issues.
The first problem is with the persistent manager. If I do.:
UserManager usrmgr = appcontext.getBean("usermgr";
User user = usrmgr.getUser("toto");
Kodo throws an exception when user.getFirstName() since it needs a persistent manager open. How does one make this transparent? JDO seems to imply that you should not use domain objects but to convert them to value holder objects before returning them (back to entity bean days). Is this correct?
I'm VERY surprised about this since Rod advocates JDO and hibernate (btw I had no problems with hibernate). Having to worry about the persistent manager on the client side seems to break the persistence transparency. Plus to have the persistent manager OPEN while outside the facade calls seems to imply some overhead for each method call on the domain object (seems like deja vu with entity beans).
Support says to use the detach method which really annoys me since it is not standard and the ONLY reason we chose JDO is that it was a standard. The detach methods basically clones the object.
I have read a couple of articles saying that JDO is not really appropriate for web based application. Is this true?
How does one use JDO in a transparent and productive way in a web based application?