Я бы настоятельно не рекомендовал использовать отображенный объект Hibernate Emp
на стороне клиента GWT.
Ваш сеанс Hibernate будет доступен только внутри findById
, так как он помечен @Transactional
, однако GWT потребуется пройти через весь объект Emp
, чтобы сериализовать его для клиента. Это, очевидно, произойдет за пределами findById
, поэтому вы получите LazyInitializationException
, если Emp
содержит какие-либо свойства, требующие отложенной загрузки (например, списки ассоциаций).
Решение состоит в том, чтобы использовать промежуточный объект передачи данных, например, EmpDTO
и преобразовать Emp
в EmpDTO
внутри транзакционного блока службы.