add hibernate support, and hibernate test