`
hehailin1986_163.com
  • 浏览: 154477 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

BlazeDS & Hibernate lazy loading in n-tier arhitecture

    博客分类:
  • Flex
阅读更多
原文链接:http://forum.springsource.org/showthread.php?t=71622

Hi,

We have faced an issue on lazy loading Domain Objects with Hibernate in n-tier architecture with Spring BlazeDS.

Our architecture is just a basic Spring architecture model:

- Flex Client

- Web layer (includes BlazeDS configuration)
- Service layer
- HIbernateDAO+Domain model

For example, if we want to load this domain object
// example...
public class Customer {
  private List<Order> orders;
  private Address address
  // getters & setters
}


Orders and Address -fields are marked with lazy fetch. So when we simply load Customer, orders aren`t loaded at the same time, they are just Hibernate proxies. Hibernate session is closed after DAO layer.

Service layer gets the Customer object from DAO layer. Flex client requests the service layer method with some parameters trough BlazeDS and service layer returns the Customer to Flex.

And now comes the problem: lazyInitException.

After some searching and googling we founded out this: BlazeDS doesn`t recognize lazy fields (Hibernate proxies) and gives the error.

Possible solutions were:
a) change your architecture so, that you can use Open Session View Pattern
b) mark all lazy fields (Hibernate proxies) to null on service layer
c) use the Data Transfer Object anti-pattern: do not return any domain object to Flex, create matching DTO`s (for example CustomerDTO) and transform your domain objects to DTO on service layer.


分享到:
评论

相关推荐

    flex.war&blazeds.war&samples.war&flex-admin.war

    j2ee建工程需要的flex.war flex.war&blazeds.war&samples.war&flex-admin.war

    flex-src.zip_blazeds_blazeds src download_blazeds-bin-4._flex_tr

    BlazeDS是Adobe公司开发的一款开源的服务器端技术,它主要为Flex应用程序提供实时的数据通信服务。BlazeDS使得基于Flex的客户端应用可以方便地与Java后端进行数据交互,支持AMF(Action Message Format)协议,提高...

    BlazeDS,PureMVC

    BlazeDS通信到Java的PureMVC——Flex框架,BlazeDS的服务器配置比较麻烦,这里使用的是直接下载blazeds_turnkey_3-0-0-544.zip中的tomcat BlazeDS模板路径为: blazeds_turnkey_3-0-0-544.zip解压后路径\tomcat\...

    spring-blazeds-reference.rar_blazeds-bin-4._flex

    Spring还包含了一个强大的数据访问层,支持JDBC、Hibernate、MyBatis等多种ORM工具,以及Web MVC框架,方便前后端的交互。 2. Adobe Flex概述 Adobe Flex是一种基于MXML和ActionScript的开放源代码框架,用于构建...

    gilead hibernate lazyload例子

    这就是Hibernate懒加载(Lazy Load)机制的作用所在。懒加载是一种延迟加载策略,只在真正需要时才加载关联的数据,以减少内存消耗和提高响应速度。 Gilead,全称为Hibernate for Flex,是用于Flex和Hibernate之间...

    PureMVC Flex BlazeDS Spring Hibernate.doc

    根据提供的文档信息,本文将详细解析“PureMVC Flex BlazeDS Spring Hibernate框架整合开发”的相关知识点,主要包括所需软件的安装与配置、项目构建步骤以及各技术框架的基本介绍。 ### 一、所需软件的安装与配置 ...

    Flex blazeds spring hibernate 增删改

    标题中的“Flex blazeds spring hibernate 增删改”揭示了这个压缩包文件包含的是关于使用Adobe Flex、BlazeDS、Spring和Hibernate技术进行Web应用开发的相关内容。这四个技术是Java EE领域中用于构建富互联网应用...

    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring)完整版本

    一个 Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) 本实例为一个 flex 与 java通信项目。前端采用cairngorm框架,后台 采用hibernate+spring 每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 ...

    blazeds 3-0-0-544

    Blazeds,全称为Adobe BlazeDS,是一款由Adobe公司开发的开源服务器端技术,主要用于实现Flex客户端与Java后端服务之间的数据交互。BlazeDS在Web应用开发中扮演着重要角色,尤其对于那些需要富互联网应用程序(RIA)...

    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring)part1.

    2. **BlazeDS与Flex通信**:BlazeDS提供了一种简单的方法来连接Flex前端与Java后端,使得数据交换变得更加容易。它可以支持AMF (Action Message Format) 格式的序列化,从而提高数据传输效率。 3. **Hibernate与...

    Myeclipse8.5+flex4.5+Blazeds+SSH环境搭建及实例-修订版

    网络上好多Myeclipse8.5+flex4.5+Blazeds+SSH环境搭建及实例,个人实验过程中出现了不少问题,通过从网络上搜索各种资源,最后成功整合,以供大家学习。当然,还有部分内容没有修改完,但至少能够成功运行

    blazeds一系列的jar包-4.0

    包含blazeds-common-4.0.0.14931.jar、blazeds-core-4.0.0.14931.jar、blazeds-proxy-4.0.0.14931.jar、blazeds-remoting-4.0.0.14931.jar

    flex+Spring+Hibernate+Cairngorm+BlazeDS+Spring BlazeDS Integration整合框架

    使用flex 4.5 + Spring 3.0 + Hibernate 3.3 + Cairngorm 2.2.1 + BlazeDS 3.3.0 + Spring BlazeDS Integration 1.0.3整合出的一个登录的小demo·

    Spring BlazeDS Integration 1.0.0

    **Spring BlazeDS Integration 1.0.0** 是一个关键的框架,它为Spring应用程序与Adobe Flex客户端之间的通信提供了一种高效且灵活的解决方案。这个版本的发布标志着开发者可以更轻松地利用Flex的富互联网应用(RIA)...

    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part2.pdf

    ### Flex+J2EE 实例(Cairngorm+BlazeDS+Hibernate+Spring)Part 2 #### 一、概述 本文档介绍了一个利用Flex前端技术与J2EE后端技术结合的具体实现案例,主要涉及到的技术栈包括:Cairngorm、BlazeDS、Hibernate ...

    PureMVC+Flex+BlazeDS+Spring+Hibernate.doc

    标题中的“PureMVC+Flex+BlazeDS+Spring+Hibernate.doc”指的是一项整合了多种技术的Web应用开发方案,这些技术包括PureMVC、Flex、BlazeDS、Spring和Hibernate。这篇文档可能是指导读者如何将这些技术结合在一起...

    blazeds-bin-3.3.0.22497.zip

    Blazeds是一个强大的Java服务器端技术,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。它是由Adobe公司开发的,旨在连接Flex客户端与后端数据服务,实现数据的实时双向通信。Blazeds的全称...

    blazeds-turnkey分卷三

    blazeds-turnkeyblazeds-turnkeyblazeds-turnkeyblazeds-turnkey

    跟我一步步搭建+PureMVC+Flex+BlazeDS+Spring+Hibernate

    为了搭建一个基于PureMVC、Flex、BlazeDS、Spring和Hibernate的项目,我们需要遵循一系列详细的步骤,这些步骤涉及到安装和配置不同的软件组件、创建项目以及集成各个框架。下面是这个过程的知识点总结: 一、软件...

Global site tag (gtag.js) - Google Analytics