Cayenne是一个Apache下的一个开源的Java ORM框架。Cayenne于大多数的ORM框架一样,为Java程序员提供了一个通过Java对象与数据库沟通的桥梁(传统的Java数据库开发方式是Java程序员使用JDBC通过SQL于数据库通信)
下面是Cayenne的一些特性:
- Cayenne支持在各种数据库驱动(几乎囊括了所有主流数据库,包括Oracle,MySQL等)之间无缝的移植,开发者只需要一次编写就可以在各种数据库平台上使用该功能,而不需要修改一行代码。
- Cayenne对数据库的开发,可以让开发者不需要了解SQL方面的知识(笔者是一个Hibernate用户,就个人经验而言,实际开发中,没有SQL知识几乎是不可行的,因为很多功能单纯通过Java ORM来构建效率很低,甚至无法实现)
- Cayenne支持ORM实体的校验功能,任何通过Cayenne提交到数据库的数据都可以通过Cayenne内置的校验功能进行校验。(例如校验密码的长度必须超过6位,又或者是在一组操作过程的事物中校验各种条件是否符合等,这可以让开发人员将GUI校验转移到后台,更安全稳妥)。同样是笔者的经验,目前笔者采用的校验方式通常是前台后台一起使用,例如Tapestry的validator功能就是如此。GUI校验通常比较丰富多彩,而后台校验可以保证在前台校验失败的情况下仍然保持数据的正确合法性。
- Cayenne支持强大的缓存机制,确保应用程序高效的运行。
- Cayenne支持延迟加载功能,这可以确保在读取关联实体的时候,不会一次性把当前实体关联的实体全部加载出来。(延迟加载可以说是双刃剑,如果不使用OpenSessionInView模式的话,会带来很多不便,不过这里不能不感谢Spring带给我们的便利,这让hibernate在任何位置使用实体对象成为可能)
- Cayenne默认支持分页功能,让页面加载数据量最小化,提升应用程序访问的效率
- Cayenne支持可配置的乐观锁机制,这可以确保数据的完整性,并防止意外的数据问题
- Cayenne还提供了一个基于GUI的数据库/Schema工具,方便学习Cayenne。
- Cayenne还支持工作在三层模式下。许多Cayenne客户端连接到一个远程Cayenne控制器(而不适客户端直接与数据库通信),而Cayenne控制器用于负载均衡,和分布式等高效的运行方式。大大提高了Cayenne的效率。
Cayenne 3.0 Beta1是一个bug修复版本,修复了Cayenne 3.0 M6已知的一部分bug,具体的 change list如下:
http://svn.apache.org/repos/asf/cayenne/main/tags/3.0B1/docs/doc/src/main/resources/RELEASE-NOTES.txt
Cayenne官方网址:
http://cayenne.apache.org/
[ad#468-60]