Crog/jpa config update

A new PR against master instead of old gutterball-hibernate branch.

Old PR is #750
Does it still have to be public? I don't see it being used outside of the common/config package.