hibernate工作原理