You're facing a pretty large rewrite effort. Really depending on the size of your existing application. Your app logic would need to be moved either client side into your Angular javascript/typescript, or into your server side API you'll need to build to support the application. This is a pretty big effort. You might be able to pickup some speed / performance improvements in your JSF application by utilizing partial page reloads, or try TurboLinks to speed up page transitions.
See: https://github.com/turbolinks/turbolinks
I've re-platformed a few JSF, and Struts applications as Angular + Java REST API applications successfully. You can keep your hibernate model probably as-is. You'll need to build a REST API to facilitate querying / sending data between the Angular front-end and your Java back-end. The code that's going into your REST controllers can be extracted from your existing backing beans, but ultimately some of it will have to be rewritten in the Angular front-end just depending on how you want the application to work.
The project structure I would probably suggest, is to take your existing hibernate code, add it to a new Jax-RS project. (You could also use Spring MVC, I've never used Spring so not familiar with it's capabilities). And start building an API to provide access to the data your front-end will require. Then, build your Angular front-end as a separate project. It could ultimately be compiled / obfuscated / packaged into your EAR project and deployed along with the rest of your app, or simply hosted as static web content.