10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

简化持久性实体的传递

  • 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:542299
用户头像

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

关注

评论

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

性能提升 57% ,SMC-R 透明加速 TCP 实战解析 | 龙蜥技术

OpenAnolis小助手

互联网 网络协议 高性能 TCP/IP 龙蜥技术

Hoo网格策略 | 一「网」在手 告别「追涨杀跌」

区块链前沿News

虎符 Hoo 网格交易

mark:vscode 无法远程访问连接

webrtc developer

vscode

AIRIOT物联网低代码平台如何配置欧姆龙omron驱动?

AIRIOT

低代码 物联网 驱动配置

“晕乎乎的概念”:阿里云函数计算的“应用”又是个啥

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

大画 Spark :: 网络(7)-Spark网络中的“四次握手”Executor注册到Driver过程中的TransportClient与细节过程

dclar

大数据 hadoop spark 架构设计 源代码

《方博碳讨室》:四问欧洲绿色能源转型

极客天地

当我们谈论服务质量的时候,我们在谈什么?

VoltDB

5G QoS 电信运营商

直播回顾 | 后疫情时代,食品行业破局秘籍get一下!

旺链科技

区块链 溯源 产业区块链

银行需明确低代码与无代码开发平台差异,以在技术上降低试错成本

易观分析

银行

墨天轮访谈 | 京东云曲艺伟:京东零售核心业务背后的数据库实践

墨天轮

数据库 京东云 国产数据库

【LeetCode】爬楼梯的最少成本Java题解

Albert

算法 LeetCode 5月月更

阿里云张新涛:异构计算为数字经济提供澎湃动力

阿里云弹性计算

XR 元宇宙 视觉计算

设计模式关系图(全网首发)之行为模式

设计模式

【直播回顾】如何成为一名优秀的OpenHamrony贡献者?

OpenHarmony开发者

OpenHarmony 贡献代码

LinkedList 源码分析-新增

zarmnosaj

5月月更

【达人专栏】还不会用Apache Dolphinscheduler吗,大佬用时一个月写出的最全入门教学【二】

白鲸开源

Apache 大数据 开源 workflow dophinscheduler

对话上市公司数字化转型:激活数据要素 倍增数字价值

BeeWorks

Liga 讨论: ToB产品可不可以免费?

LigaAI

SaaS

用更云原生的方式做诊断|大规模 K8s 集群诊断利器深度解析

尔达Erda

程序员 运维 云原生 k8s 工具

Wallys/ AR9531/WiFi Card/ MMCX

wallys-wifi6

AR9531 30dBm high power

设计模式关系图(全网首发)之结构和创建模式

设计模式

时间堆原理详解及C++11的实现

C++后台开发

后端开发 Linux服务器开发 C++11 C++后台开发 时间堆

DeFi挖矿智能合约Dapp系统开发搭建

薇電13242772558

智能合约

云数赋能+数字办公 助力政企数字化

fastposter v2.8.1 发布 电商海报生成器

物有本末

Python Pillow fastposter fast-poster

直播预告丨OpenHarmony标准系统多媒体子系统之视频解读

Anna

OpenHarmony

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