We have an application that persists many thousands of often lengthy quotes and allows easy retrieval for users. What about performance? To test that issue, I created a separate version of the app that manually stores all the objects into HSQLDB via JDBC. The overhead of using JDO and JDO Genie in particular was minimala small percentage of the overall memory used. Both versions used a decent amount of memory initially, but as more and more data was processed, that memory usage stayed stable for both. Between the two versions, I noticed that the JDO version didn't have the performance of straight JDBC.
If speed of development and ease of maintenance is of primary concern, JDO is a great option.
The shortcomings of JDOQL can be somewhat limiting, and while things were very stable during the development and testing of this application, JDO is still fairly young and will see some major changes in its upcoming 2.0 release. For most coders, it may make sense to wait.