写点什么

简化持久性实体的传递

  • 2009-05-11
  • 本文字数:801 字

    阅读完需:约 3 分钟

Gilead 旨在实现

把持久性实体简便地传送到 JVM 环境外。

Gilead 的全称是Generic Light Entity Adapter,之前曾叫做 Hibernate4GWT 。随着开发团队开始支持其他一些框架,项目于是修改成当前的名字,

由于 Gilead 目前可以处理的前端技术不单单 GWT 一个,而且还计划支持 Hibernate 以外的 JPA 实现,所以,我们换了一个含义更宽泛的名字。

创建 Gilead 项目的主要目的是减轻人们把持久性实体传递到其他系统或者其他技术前端时遇到的痛苦。为什么这个过程那么棘手呢?通常是由于持久化框架在编译期或者运行期修改类的定义,添加某些所需信息以减少持久化实体时的麻烦。如此一来,当这些修改了的对象传送到 JVM 外面以后,就会发生一些奇怪的事情,比如说接收方甚至可能会抛出“NoClassDefFoundError”、“ClassCastException”之类的错误。

针对这种情况,Gilead 采取了“克隆-合并”(clone-merge)策略。对象从服务器发送出来的时候,本身会被克隆,

克隆操作会根据持久性实体创建普通实例,这个实例既不包含代理,也不包含带持久化特性的集合。

当对象返回给服务器时,Gilead 可以以下面三种“模式”中的任一种来合并返回的对象。

  1. 无状态:对象类型必须继承自 LightEntity ,或者实现 ILightEntity 接口,这样持久化信息才会被保存在克隆出来的对象上面(服务器上不保留相关信息)。
  2. 有状态:持久化信息是保存在 HTTP 会话里面。
  3. 动态代理:这也是一种无状态模式,尚处试验阶段。适用于无法修改已有遗留代码来满足无状态模式的情况。

目前,Gilead 的版本是 1.2.2,可以对采用 Hibernate 作为 JPA 实现框架的应用系统提供可靠的克隆 / 合并操作。同时,Gilead 对包括 GWT Flex (使用 BlazeDS 数据库)在内的前端技术提供成熟的适配器。

Gilead 的下一个版本 1.3,计划提供基于 XML/Web Services 技术的适配器,支持 OpenJPA(EclipseLink 将来也会纳入支持范围)以及其他一些改进。

查看英文原文 Easy Persistent Entity Transfers

2009-05-11 15:542021
用户头像

发布了 76 篇内容, 共 25.0 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

软件测试的策略详解(按开发阶段划分)

程序员阿沐

编程 程序员 软件测试 自动化测试 测试工程师

SpringSecurity入门(一)

Java 程序员 后端

未来怎么样的测试工程师最值钱?

程序员阿沐

腾讯 软件测试 自动化测试 测试开发

软件的生命周期(软件工程各阶段的工作)

程序员阿沐

程序员 软件测试 生命周期 测试开发 测试工程师

Spring之AOP适配器模式

Java 程序员 后端

东吴证券张之浩:从理论到落地的 DevOps 体系建设

BoCloud博云

DevOps 云原生 证券

Spring注解缓存设计原理及实战

Java 程序员 后端

告别AI模型黑盒子:可解释的神经网络研究

索信达控股

机器学习 模型 可解释模型 可解释机器学习

SpringMVC--文件上传

Java 程序员 后端

Spring(四):bean标签解析

Java 程序员 后端

SQL Server 2008中的分区表(二):如何添加、查询

Java 程序员 后端

SQL Server 高性能写入的一些总结

Java 程序员 后端

SpringMVC之Interceptor拦截器之登录拦截器(1)

Java 程序员 后端

Spring框架(五)SpringMVC高级

Java 程序员 后端

Spring新版本抛弃JVM,可独立部署,网友:要自立门户?

Java 程序员 后端

SpringData【Spring整合HibernateJPA】(1)

Java 程序员 后端

SpringSecurity详细介绍RememberMe功能

Java 程序员 后端

Spring中的AOP——在Advice方法中获取目标方法的参数

Java 程序员 后端

spring的事务隔离级别

Java 程序员 后端

Spring系列之数据源的配置 数据库 数据源 连接池的区别

Java 程序员 后端

springcloud(二)配置中心config

Java 程序员 后端

SpringMVC之Interceptor拦截器之登录拦截器

Java 程序员 后端

SpringSecurity+JWT认证流程解析

Java 程序员 后端

如何在 CentOS 中下载包含所有依赖项的 RPM 包

吴脑的键客

centos

面试题:软件测试V模型以及软件生命周期

程序员阿沐

编程 程序员 软件测试 自动化测试 教程

SpringData【Spring整合HibernateJPA】

Java 程序员 后端

SpringMVC入门第二部分

Java 程序员 后端

面试官:你说说软件测试WHX模型(图解)

程序员阿沐

程序员 软件测试 自动化测试 测试开发

SpringSecurity安全控件使用指南

Java 程序员 后端

SQL Server 2008中的分区表(二):如何添加、查询(1)

Java 程序员 后端

springcloud(三)网关zuul

Java 程序员 后端

简化持久性实体的传递_Java_Craig Wickesser_InfoQ精选文章