• Criteria should not extend Hashtable. This is widely considered to be a bad practice. Even if criteria is to maintain hashtable-like semantics, it should do so by delegation not derivation.
  • The Peers currently contain String constants with the uppercased column name as a variable name and the fully qualified column name as the String. This String is then broken into its constituents (table and column) multiple times. This is inefficient due to parsing Strings, Object creation, and equality comparisons on the Strings. A TableColumn class has been created that will solve much of this inefficiency. It should be integrated with Criteria and BasePeer.