[add] hibernate layer