`

flex 和hibernate结合,针对延迟加载对象转化处理

    博客分类:
  • flex
阅读更多
HibernateAdapter

 

 

/**
  * Invoke the Object.method() called through FlashRemoting
  */
 public Object invoke(Message message) {
  Object results = null;
  if (message instanceof RemotingMessage) {
   RemotingMessage remotingMessage = (RemotingMessage) message;
   results = super.invoke(remotingMessage);

   // serialize the result out
   try {
    HibernateSerializer serializer = new HibernateSerializer();
    results = serializer.translate(results);
   } catch (Exception ex) {
    ex.printStackTrace();
    RuntimeException re = new RuntimeException(ex.getMessage());
    re.setStackTrace(ex.getStackTrace());
    throw re;
   }
  }
  return results;
 }

 

HibernateSerializer

 

 

public Object translate(Object obj) {
  if (obj == null) {
   return null;
  }

  Object result = null;

  Object key = getCacheKey(obj);

  if (cache.containsKey(key)) {
   return cache.get(key);
  }

  Boolean isLazyProxy = obj instanceof HibernateProxy
    && (((HibernateProxy) obj).getHibernateLazyInitializer().isUninitialized());
  if (isLazyProxy) {
   result = writeHibernateProxy(obj, key);
  } else if (obj instanceof PersistentMap) {
   result = writePersistantMap(obj, result, key);
  } else if (obj instanceof AbstractPersistentCollection) {
   result = writeAbstractPersistentCollection(obj, key);
  } else if (obj instanceof Collection) {
   result = writeCollection(obj, key);
  } else if (obj instanceof Map) {
   result = writeMap(obj, key);
  } else if (obj instanceof Object && (!isSimple(obj)) && !(obj instanceof ASObject)) {
   result = writeBean(obj, result, key);
  } else {
   cache.put(key, obj);
   result = obj;
  }

  return result;
 }

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Flex 与 Hibernate 的延迟加载问题

    在开发Flex与Hibernate集成的应用时,延迟加载(Lazy Loading)是一个常见的挑战,因为Flex客户端无法直接理解和处理Hibernate的延迟加载机制。延迟加载是一种优化策略,它允许关联的对象在真正需要时才被加载,而...

    Flex 延迟加载 问题说明 处理 实现

    ### Flex延迟加载问题说明处理实现 #### 一、引言 在现代Web开发中,为了提升用户体验和系统性能,开发者常常采用各种优化技术。其中,延迟加载(Lazy Loading)是一种非常实用的技术,它允许资源(如图片、脚本等...

    flex和hibernate的整合

    Flex和Hibernate的整合是将富客户端的Flex技术与持久层框架Hibernate相结合,以实现更高效、功能丰富的Web应用。在Flex前端,用户可以享受到交互性强、图形化展示丰富的界面,而Hibernate则负责在后台处理数据库操作...

    flex+hibernate+Spring

    Flex、Hibernate 和 Spring 是三个在IT行业中非常重要的技术框架,它们分别在用户界面、持久化层和应用架构方面发挥着关键作用。让我们深入探讨一下这三个技术的整合以及如何实现它们的详细配置。 Flex 是 Adobe ...

    flex+hibernate 实例

    6. **测试与调试**:通过Flex的调试工具和服务器端的日志,对应用进行测试和调试,确保数据的正确传输和处理。 通过学习这个"Flex+Hibernate实例",开发者可以深入理解如何在Flex应用中集成后端数据库服务,提升Web...

    FLex整合hibernate spring

    总的来说,Flex、Spring和Hibernate的整合是现代Web应用开发中的常见实践,它结合了前端的动态性和后端的强大功能,为开发者提供了构建复杂业务逻辑的有力工具。通过熟练掌握这种整合方式,开发者可以更有效地构建高...

    flex spring hibernate jar

    总的来说,这个压缩包可能是一个教学资源,一个项目模板,或者是某个已完成的应用程序,用于演示如何将Flex的富客户端体验与Spring的后端服务和Hibernate的数据库操作相结合。要深入了解这个压缩包的具体内容和用法...

    spring-flex的hibernate4补丁

    Hibernate 4是流行的Java对象关系映射工具的第四个主要版本,它引入了许多新特性和性能优化。这些补丁可能是由社区成员或开发者贡献的,旨在解决Spring Flex与Hibernate 4整合时可能出现的问题或不兼容性。 补丁...

    Flex+struts2+hibernate例子

    这个例子展示了如何将这三种技术结合起来实现一个基础的CRUD(创建、读取、更新、删除)应用,其中Flex作为前端展示层,Struts2作为控制层,Hibernate作为持久化层,MySQL作为数据库。 **Flex** 是Adobe开发的一款...

    Flex+hibernate+spring整合

    Flex、Hibernate和Spring是三个在IT行业中非常关键的技术框架,它们分别在用户界面、持久化层和业务层有着重要作用。接下来我们将深入探讨这三个技术的整合及其相关知识点。 Flex是一种基于Adobe AIR(Adobe ...

    flex hibernate

    6. **事件驱动编程**:Flex应用中,事件处理是关键,了解如何监听和响应服务调用完成、数据加载等事件。 7. **AMF通信**:理解AMF协议的工作原理,它如何提高Flex与Java之间的数据交换效率,以及如何配置BlazeDS以...

    Flex Builder3+MyEclipse8.5搭建Flex Spring Hibernate环境

    以下将详细介绍如何使用Flex Builder3和MyEclipse8.5搭建Flex、Spring和Hibernate的开发环境。 **1. 下载必备软件** 首先,你需要获取以下软件的最新版本: - **Flex Builder3**:Adobe的IDE,用于编写Flex前端代码...

    Flex+spring+hibernate示例

    Flex+Spring+Hibernate示例是一种常见的企业级应用架构,它结合了Adobe Flex前端技术、Spring后端框架和Hibernate持久层框架,以构建高效、灵活且易于维护的Web应用程序。在这个示例中,开发者可能已经展示了如何...

    flex+hibernate+spring整合

    总结起来,Flex+Hibernate+Spring的整合使得开发者能够利用Flex的强大可视化功能、Hibernate的数据库操作便利性以及Spring的灵活性和模块化,构建出高效、互动性强的Web应用程序。通过深入理解这三个技术,开发者...

    spring+hibernate+flex整合

    在IT行业中,Spring、Hibernate和Flex是三种非常重要的技术,分别用于不同的领域。Spring是一个全面的Java企业级应用开发框架,Hibernate是一个强大的对象关系映射(ORM)框架,而Flex则是一种用于创建富互联网应用...

    Flex Spring Hibernate

    Flex Spring Hibernate是一个集成开发环境,用于构建富互联网应用程序(RIA),结合了Adobe Flex前端、Spring后端框架和Hibernate持久层技术。这个环境提供了一种高效的方式,将强大的客户端展示与强大的服务端业务...

    FSH.rar_flex_flex hibernate_flex4_flex4.5_spring3 flex4.5

    此项目实例的亮点在于,它不仅展示了Flex 4.5的UI设计和事件处理能力,还体现了Spring 3的服务化架构和Hibernate的数据库操作功能。开发者可以通过这个实例学习如何在Flex中集成Spring和Hibernate,实现前后端的无缝...

    flex3读书笔记----flex整合hibernate

    本文档主要涵盖了Flex 3与Hibernate的集成过程,涉及到了开发环境的搭建,包括FlexBuilder 3、MyEclipse、Tomcat、MySQL和BlazeDS的配置与使用,以及Hibernate的实体类、映射文件和配置文件的创建,为开发Flex与Java...

    flex,spring,hibernate

    偌大的一个csdn竟然都没有发现一个完整的整合版flex,spring,hibernate。无奈之下自己经过一个半的努力实现了flex调用springAOP管理的java方法,项目中也有我写好的hibernate方法。

    Flex+Hibernate整合的学生成绩管理系统

    Flex+Hibernate整合的学生成绩管理系统 Flex+Hibernate整合的学生成绩管理系统 Flex+Hibernate整合的学生成绩管理系统 Flex+Hibernate整合的学生成绩管理系统 实用实用实用实用实用实用

Global site tag (gtag.js) - Google Analytics