写点什么

简化持久性实体的传递

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

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

关注

评论

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

ISO 50001 与碳足迹核算双达标:MyEMS 的能源管理体系合规实践

开源能源管理系统

开源 开源能源管理系统

2025图文摘要机构哪家值得信赖?意得辑备受好评

科技汇

“企业级敏捷教练课程” CSP-SM认证 | 12月27-28日 · 周末班

ShineScrum

敏捷教练 CSP CSP-SM

2025 Altair Enlighten Award 获奖名单揭晓!蔚来、中信戴卡、吉利、奇瑞等获全球轻量化大奖

Altair RapidMiner

人工智能 AI 汽车 仿真 CAE

低代码“新建日程”实操攻略,效率直接翻倍拉满

引迈信息

捷行第三期读书会开启!欢迎免费参加!

ShineScrum

Palo Alto网络防火墙日志监控

运维有小邓

IT项目管理主要做什么?-ManageEngine卓豪

ServiceDesk_Plus

ManageEngine卓豪

从被动防御到主动免疫进化!迈格网络“天机” AI 安全防护平台,助推全端防护性能提升

迈格网络

数字孪生 + 区块链:MyEMS 引领能源管理技术融合新趋势

开源能源管理系统

开源 能源管理系统

基于 AI 网关提升大模型应用可用性的实践

阿里巴巴云原生

阿里云 云原生 LLM AI网关

当AI和低代码成了你的团队

秃头小帅oi

移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现

阿里巴巴云原生

阿里云 云原生 Arms

微信分享的图纸在电脑上打不开怎么解决?

在路上

cad

Adaptix C2:跨平台渗透测试与对抗仿真框架

qife122

网络安全 跨平台 渗透测试

非凸底仓增强算法上线西部证券,AI交易工具普惠个人投资者

非凸科技

BaikalDB MCP Server :链接数据库和AI的直通桥

百度Geek说

分布式数据库 LLM MCP

数栈产品如何实现国际化

袋鼠云数栈

国际化 袋鼠云 数栈

使用EventLog Analyzer进行Apache日志监控和日志分析

运维有小邓

Modbus 与 MQTT 协议兼容:MyEMS 的泛在能源数据采集技术实现

开源能源管理系统

开源 能源管理系统

阿里云携手 海信聚好看 构建开源云原生大数据平台最佳实践

阿里云大数据AI技术

大数据 阿里云 数据湖 开源大数据平台

零基础也能玩转 AI 智能体?这本实操指南帮你快速落地变现

博文视点Broadview

东荟城名店仓CLUB CG「Chill『饰』玩周年庆」 过千款材料 打造DIY天堂

编程猫

5支AI短片亮相釜山电影节引热议,创作者肯定Seedance、Seedream模型能力

新消费日报

面向企业构建科学完善的财务报告解决方案

智达方通

全面预算管理 财务管理

ONES 荣获中国信通院铸基星图 ALM 平台“领航之星”

万事ONES

ONES 中国信通院 ALM 平台 应用生命周期管理 领航之星

深入解析Wallarm安全边缘:API边缘的即时防护技术

qife122

云安全 API安全 云安全网络安全

华为,让金融智能体月映千江

脑极体

AI

如何在CAD图纸中添加外部参照?

在路上

cad cad看图 CAD看图王

从“救火队长”到“战略指挥”:现代项目管理者的效能进化论

Tecjt_锦图科技

项目管理 效率工具 敏捷开发 团队协作

技术小白福音!给老旧命令行程序加个GUI界面,从此点点鼠标就能用!

阿星AI工作室

学习 AI 大模型 AI产品经理

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