Могу ли я напрямую манипулировать POJO Hibernate из моего бина?
Да, вы можете это сделать.
можно ли вызывать такие методы, как findAll (), save (), findById (id)
Да, вы можете сделать это,Однако я ожидаю увидеть эти методы в классе обслуживания / DAO, а не в POJO.
Является ли это хорошим проектом или существуют какие-либо сложности
Зависит от функциональных / бизнес-требований.Если вам необходимо спроектировать представления JSF на основе модели данных, то вы часто можете просто использовать POJO как есть.Однако если вам необходимо спроектировать представления JSF на основе бизнес-модели, которая не обязательно соответствует 1-к-1, с моделью данных, или если вы хотите полностью абстрагировать слой данных (т. Е. Hibernate - это просто «деталь реализации»)и предполагается, что он может быть заменен на Plain JDBC или современный JPA), тогда вам часто нужно вводить дополнительный абстрактный слой с DTO, которые отображаются из / в POJO, а затем использовать только те DTO на стороне JSF.В любом случае, вы не должны взрывать POJO / DTO в компоненте поддержки JSF, а просто сделать всю сущность свойством и использовать его как #{bean.entity.property}
.