稍作修改，加入doctrine