This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I actually just used the UML tool in Eclipse. It just shows classes and interfaces and their method/properties in boxes. There was nothing too magical there, which is what I wanted - just keep it simple so it's easy to learn.
For large records, you want the database to do the filtering. Then, the Java part can perhaps do a secondary filtering or formatting on a smaller set of records. You don't want 10,000 Java objects being created on the JVM for each query, that's for sure.