We're going to need a strategy for how to handle the differences between Hibernate 3 and 4. If they can't all be handled in this class, then we'll need to split out into two separate classes. (i.e., the way Spring 3.1+ has two different packages)