写点什么

简化持久性实体的传递

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

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

关注

评论

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

战略实践:7 步改变未来

俞凡

战略

鸿蒙仓颉语言开发教程:自定义弹窗

幽蓝计划

1688店铺订单接口指南攻略

tbapi

1688订单物流接口 1688店铺订单接口 1688店铺订单详情接口

跨平台的 AI 基准测试 Geekbench AI for mac

Rose

鸿蒙仓颉语言开发实战教程:实现商品分类页

幽蓝计划

需求神器提示词

执于业务

鸿蒙ArkTS | Badge 信息标记组件自学指南

李游Leo

鸿蒙 HarmonyOS

基于YOLOv8的农业虫害检测102 类农业害虫识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

Macs Fan Control Pro :控制风扇速度来保持 Mac 平稳运行

Rose

专业的视频后期制作:Final Cut Pro(fcpx)中文版安装包

Rose

基于YOLOv8的汽车车牌位置实时检测项目【完整源码数据集+PyQt5界面+完整训练流程+开箱即用!】

申公豹

yolov8

高效拆分用户故事

俞凡

敏捷开发

华为云MaaS解锁DeepSeek-R1-0528超能推理开箱即用AI力!

YG科技

达芬奇20新功能介绍 附DaVinci Resolve Studio中文安装教程

Rose

[大厂实践] LLM加速大规模测试迁移

俞凡

人工智能 测试

业务流程建模指南

俞凡

架构

详解鸿蒙开发如何上传三方库到ohpm仓库

幽蓝计划

【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能

GeorgeGcs

鸿蒙 文档扫描 表格扫描

Web端实时通信技术SSE在携程机票业务中的实践应用

JackJiang

网络编程 即时通讯 IM

5 分钟搞定 Go 自定义结构体标签

俞凡

golang

1688商品评论API接口攻略

tbapi

1688商品评论接口 1688评论API 1688评论数据采集

Lightroom Classic 2025(LRC2025)中文安装包

Rose

征程 6EM 常见 QConfig 配置解读与示例

地平线开发者

自动驾驶 算法工具链 地平线征程6

思维导图与头脑风暴 XMind Pro 永久许可证

Rose

无损音乐播放器Audirvana for Mac中文版

Rose

【HarmonyOS 5】Laya游戏如何鸿蒙构建发布详解

GeorgeGcs

H5 HarmonyOS 小游戏 Laya 构建鸿蒙

【HarmonyOS 5】鸿蒙中的UIAbility详解(三)

GeorgeGcs

Shiro简介及SpringBoot集成Shiro(狂神说视频简易版)

刘大猫

人工智能 算法 数据分析 权限控制 shiro

别再堆MCP工具了!好用的AI Agent,始于一个“懂你”的System Prompt

RockBot

【HarmonyOS 5】鸿蒙中的UIAbility详解(二)

GeorgeGcs

【HarmonyOS 5】鸿蒙中的UIAbility详解(一)

GeorgeGcs

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