One heads-up and data point on views: You're not going to get PK info from a view, at least not in Oracle up to and including 11g.
Whether that's a minor annoyance or a dealbreaker pretty much depends on your workstyle and the overall situation. Here, we're currently creating and modifying tables and views at the drop of a hat, and having to manually provide PK info for views turned out to be a hassle. And it was important to do so because the Java code uses PK fields to determine whether two Pojos refer to the same db record.
