50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

简化持久性实体的传递

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

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

关注

评论

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

拒绝停服,随时回退:MS SQL 到 ≈ 的无缝数据库双向迁移方案

tapdata

容灾备份 高可用数据库迁移 mssql迁移 sqlserver迁移 双向同步

跨链模式:多链互操作架构与性能扩展方案

区块链软件开发推广运营

dapp开发 链游开发 公链开发 公链开发代币开发 链游开发交易所开发

一文搞懂K8s中的RBAC认证授权

不在线第一只蜗牛

Kubernetes 容器 云原生

从20年架构师的视角解读高性能Java架构核心知识点!

程序员高级码农

Java 程序员

内网im,局域网环境下BeeWorks 如何保障数据安全?

BeeWorks

即时通讯 企业级应用

4种比常见的线程池和线程同步买票问题

量贩潮汐·WholesaleTide

Java Python

视觉与图像识别自动化测试 | 音频转文字

测试人

人工智能

DeFi模式:去中心化金融架构与流动性池设计

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 公链开发代币开发

鸿蒙Next仓颉语言开发实战教程:店铺详情页

幽蓝计划

【6.12 直播】内存泄漏怎么办?时序数据库 IoTDB 官方避坑指南“面对面”告诉你!

Apache IoTDB

华为云重磅亮相 KubeCon China 2025 ! 精彩议程一览

华为云开源

开源 云原生 华为云

HarmonyOS运动开发:打造你的专属运动节拍器

王二蛋和他的张大花

鸿蒙 os

DePIN代币正构建 Web3 和 AI 融合的新范式

PowerVerse

AI Web 3.0 DAO DePIN gpu 算力

Go版本的JetCache缓存框架终于来啦

daoshenzzg

Go 缓存 开源

创业,是加速“祛魅”最有效的办法

程序员郭顺发

大数据-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件

武子康

大数据 hadoop mapreduce hive

C# 模式匹配全解:原理、用法与易错点

量贩潮汐·WholesaleTide

C#

加速数字化转型:低代码平台在关键业务领域的四大高效落地场景

不在线第一只蜗牛

低代码

“深时数字地球”新进展!科学智能助推地球科学研究范式变革

ModelWhale

科学智能 地球科学 AI4S DDE深时数字地球

详细教程!Ollama本地部署新版DeepSeek-R1,如何实现远程访问?

贝锐

内网穿透 DeepSeek R1 模型

DAO模式:去中心化治理与代币激励设计

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 公链开发代币开发

ES Serverless 8.17王牌发布:向量检索「火力全开」,智能扩缩「秒级响应」!

阿里云大数据AI技术

大数据 运维 数据处理 Server 向量检索

2025全球人形机器人领域深度报告:人形机器人、具身智能技术、商业化壁垒、产业链公司及投资分析

机器人头条

科技 大模型 人形机器人 具身智能

金九银十春招必看的2025年Java高频面试题汇总(附答案)

Geek_Yin

Java 编程 程序员 java面试 Java面试题

跨端生态×AI赋能:移动研发模式的双擎驱动

xuyinyin

BeeWorks im即时通讯软件:政企通讯首选

BeeWorks

即时通讯 IM 企业级应用

低代码“偷懒”技巧,我建议全公司学!

引迈信息

腾讯云TencentOS Server AI,助力荣耀打造高性能AI底座

极客天地

甘其果:以《道德经》智慧破局生鲜零售,缔造社区水果新标杆

极客天地

ETLCloud可能遇到的问题有哪些?常见坑位解析

谷云科技RestCloud

数据处理 ETL 数据集成工具 实时数据集成 离线数据集成

图解JavaScript原型:原型链及其分析 | JavaScript图解

电子尖叫食人鱼

JavaScript

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