Встала передо мной интересная задачка, написать маленькое Air приложение, которое получала бы данные с Java сервера. Использовать XML для таких задач - это против моей сущности. Не люблю я это дело. По этому сразу был взят курс на технологии LiveCycleDs и BlazeDs. Первая технология хороша, но очень уж дорога. BlazeDS бесплатна и свободо распрострянается. Её возможностей более чем за глаза хватает для решения поставленной передо мной задачи. Т.к. задача предполагает обращение к БД, то в дальнейшем планируется использовать Hibernate. И чтоб не завязываться на ручное инициализирование сессий и разруливание всяких проблемм с пулом соединений было принято решение использовать Spring для связи всё в единое пространство на стороне сервера.
В прошлой статье я описал настройку связи Java сервера и Flex (Air) келиента, используя BlazeDS под управлением Spring. В этой статье мы добавим связь с БД (Postgres 8.3) используя набор библиотек Hibernate3.
Очень часто бывает, что при использовании Hibernate, на серверной стороне Java, для исключения избыточности данных, часть полей помечаются как ленивые (lazy="true"). И в этом случае, когда данные сериализуются для передачи данных во Flex-уровень возникает LazyInitializationException. Очень желательно оградить такие поля от сериализации, так же бывает необходимо по различным причинам исключить часть полей из сериализации из Java-уровня во Flex.