当时年仅九岁，袭封爵位。隋文帝开皇初年，进封武德郡公。十四岁，官拜沂州刺史，又转鲁郡太守。隋炀帝时，与武威太守樊子盖在官吏考核中，并列第一，隋炀帝赏赐其黄金百两、物品千段。迁大理卿。突厥将隋炀帝围困于雁门，围解后，以功授右光禄大夫。从隋炀帝游江都，宇文化及杀害炀帝，以其为民部尚书，跟随宇文化及等到聊城。后为窦建德所俘，押送给唐淮安王李神通。入长安后，官至太子左庶子，封荥阳郡公。未几，检校大理卿，兼任民部尚书。奉公守法，很有威名。山东被平定，为招抚大使。后历任刑部尚书。唐太宗贞观初年，官至岐州刺史，去官后