Apache Cayenne 是一个强大而易于掌握的 Java ORM 框架。它是开源且完全免费的。Cayenne 提供了 Java 对象到关系型数据库的持久化映射管理,单方法调用查询和更新(包括细粒度的更新所有被修改的对象),无缝隙的把多种数据库集成到单一虚拟数据源中。Cayenne 由 CayenneModeler 分配——完整的 GUI 映射工具。Cayenne 已被成功部署在高负载的生产环境中。
在吸取了广大用户的建议的基础上发布了 1.2 版本。这个版本中最重要的新特性是“远程对象持久化(Remote Object Persistence)”,就是把 Cayenne 转变成一个独立的数据服务器,以便远程应用能访问。目前,仅仅用于 Java 客户端程序(常常用于 Swing 或 SWT“富客户端”应用),但开发者计划将客户端用其他语言来实现。ORM-到-WS 把熟悉的 ORM 世界提供给远程客户端。即关系的延迟粒度、本地缓存、数据请求、单方法调用多对象的提交、等等。也就是服务器和客户端层共享同样的抽象对象模型和相同的 Cayenne 持久 API。
Cayenne 最早由几名程序员在 2001 年的亚特兰大构思。这个项目目的在于构建一个开源的 ORM 框架(当时还没有这样的产品),最初的设计灵感源于 NeXT/Apple 企业对象架构(Enterprise Objects Framework,EOF)。在 2002 年的秋天,Cayenne 1.0 alpha 版成功地在 NHL.com 网站(全国曲棍球联合会)上运用。第一个官方稳定版在 2003 年 9 月发布。从那以后,Cayenne 就在全球大大小小的组织(译注:这些机构、组织的网站)上部署。2006 年春,Cayenne 被接纳为 Apache 软件基金会孵化器项目,并立志成为 Apache 项目(译注:也许是指和 iBATIS 一样)。
在了解了 Cayenne 的前世今生后,来听听用户的声音。
“我们使用 Cayenne 已经有 6 个月了,基于这个框架构建了多个 web 应用,发现它是一种生产效率很高的工具。基于 Cayenne 建模和开发是非常神奇的事情。你可以创建新表或更新已存在的表,接着点击很少的按钮你的数据库就构建好了,所有类也生成了。在进行程序快速开发时,这一分钟的持久化变动是非常有效率的。下面我把 Cayenne 1.2 和 Hibernate 3.0 做一比较:Cayenne 是更有生产力的工具集,主要是由于它的数据库生成和代码生成特性上,用户无需书写和维护 XML 映射文件。而 Hibernate 有着更加强大的查询语言。Cayenne 的设计更加适合 web 应用程序。对于 ThreadLocal 和 HttpSession 的支持,事务模式以及连接池都可以直接拿来就用。如果是 Hibernate 的话,用户必须自己找这些插件或者利用 Spring 对 Hibernate 的支持。Cayenne 的 DataObjects 一直都处于连接状态,无需遭受 Hibernate 的“lazy initialization exception”之苦。Hibernate 更好的支持了 PK 和 FK 设计的关联数据表。如果用户遵循设计模式,在 Cayenne 中也可以直接用 PK 代理。”
—— Malcolm Edgar
“我想最好的特性是无需关闭数据库连接或会话。如果我使用 Hibernate,我必须手工关闭会话(我没用 springframework),这样太繁琐了,而且容易误操作。换成 Cayenne 的话,我无需关心数据库连接或 JDBC 异常。”
—— lyo Yashnoo
“我用 Cayenne 差不多一年半了,我想说的是真的太好了!建模工具很强大并且架构也非常成熟、高效!”
—— Pedro Costa
请注意!引用、转贴本文应注明原作者:Rosen Jiang 以及出处:http://www.blogjava.net/rosen
分享到:
相关推荐
这是由51cto的shinesoft网友根据 apache cayenne 3.0 的文档进行翻译的,翻译质量不错,不是由翻译软件进行翻译的。相关简介可以参考下面的链接地址 http://down.51cto.com/data/357163
Cayenne 技术是一种基于 Java 的开源对象关系映射(ORM)框架,它提供了类似 Hibernate 的功能,用于数据持久化。ORM 框架的主要目的是简化 Java 应用程序与关系数据库之间的交互,将 Java 对象直接映射到数据库表,...
卡宴建模器原型 Cayenne Modeler的更新版本 项目目标 为什么要重新编写Cayenne Modeler? 尽管Cayenne Modeler稳定且运行良好,但它也建立在较旧的技术基础上,使其难以扩展。 该原型项目的目标是在保留基础技术和...
【标题】"cayenne-project-3.1RC1.zip" 指的是Apache Cayenne项目的一个版本,这是开源的对象关系映射(ORM)框架。3.1RC1是版本号,代表3.1版本的第一个候选发布版,意味着它是3.1版本的预发布版本,可能用于测试和...
Apache Tapestry( )和Apache Cayenne( )之间的合作模块 很久以前-在1995年-Web对象框架( )由史蒂夫·乔布斯(Steve Jobs)领导的Next公司创立。 Web对象的基本部分是企业对象框架(EOF)( )。 Apache ...
【Apache项目对照表2014-61】是一份包含多个Apache软件基金会下的项目列表,这些项目涵盖了从数据存储、消息传递到软件开发和管理的各个领域。以下是对其中部分项目的详细介绍: 1. **Abdera**: Apache Abdera是...
Apache Cayenne 的示例。 使用不同的技术,例如 Apache CXF Google Web Toolkit EJB Apache Wicket Eclipse RCP Java ANSI C Perl Python Bash 我们移至 GITHUB.COM ! 所有资源现在都在 github.com 上的 git 中 - ...
cayenne-osgi-示例 一个简单的 OSGi 包,展示了如何在 OSGi 下使用 。 先决条件 Cayenne 4.0.M2 或更新。 一个 OSGi 容器。 (此示例的所有测试均使用 4.2.1 完成) 配置 OSGi 容器 安装一堆包。 您可以从 Maven ...
阿帕奇卡宴 是根据Apache许可获得许可的开放源代码持久性框架,提供对象关系映射(ORM)和远程服务。 目录 快速开始 创建XML映射 Modeler GUI应用程序 您可以使用Cayenne Modeler在没有DB的情况下手动创建Cayenne...
Arduino-cayenne-docs.zip,卡宴文档系统欢迎使用卡宴文档,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。
保时捷Cayenne是一款豪华的SUV车型,自从2002年首次推出后,就一直被认为是保时捷品牌中非常重要的一个产品。2015款的Cayenne在延续了保时捷经典设计语言的同时,还引入了一系列的高科技设备和新功能,以满足驾驶者...
Cayenne是一个开源的对象关系映射(ORM)框架,它为Java开发人员提供了一种方便的方式来管理和操作数据库。"cayenne-3.1-windows最新稳定版"是针对Windows平台的Cayenne库的一个特定版本,它强调的是稳定性和可靠性...
Cayenne是一个强大的,功能齐全的开源框架,为使用关系数据库的开发人员创建。 它无缝地将任何关系数据库映射到Java对象,从而减少了开发时间,并为需要数据库的任何应用程序增加了可观的功能。 使用Cayenne的开发...
Arduino-Cayenne-MQTT-ESP.zip,卡宴MQTT ESP8266、ESP32和nodemcu库卡宴MQTT ESP库,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。
《保时捷Cayenne驾驶手册2014款汽车用户操作使用说明书》是一份详尽的指导文档,旨在帮助车主全面了解并有效操作2014款保时捷Cayenne。手册中包含了车辆的各种功能、安全指南以及维护建议,确保用户能够安全、舒适地...
亚夫拉 README首先! 另一个框架(YAFRA)提供了基于工作样本的开发,构建和部署环境,这些样本主要涵盖使用不同类型技术的客户端/服务器类型交互。 它应作为跨不同技术和软件包工作的集成样本集。...
3. **依赖注入**:Bootique 的依赖注入机制允许你在需要的地方注入 Cayenne 相关的服务,如 `org.apache.cayenne.ObjectContext`,它是 Cayenne 中的主要工作单元。 ```java @Inject private ObjectContext ...
保时捷Cayenne驾驶手册2016款是保时捷汽车的用户操作使用说明书,它为车主提供了关于汽车操作、维护、安全指南和故障排除等方面的全面信息。本文将对提供的内容部分进行详细解读,以便用户能够更加清楚地了解和使用...
魔兽卡宴内部全自动打怪跑本拾取登陆寻怪复活
在Cayenne中,你可以通过定义Java类并使用注解或XML配置来声明一个实体。这些实体类拥有与数据库字段相对应的属性,并可以通过Cayenne的API进行操作。 2. **数据映射(Data Mapping)**:Cayenne使用XML文件(通常...