jpa2web 是什么?
Hibernate(见 参考资料)等工具大大简化了 Java 对象与其数据库存储之间的映射;尤其是,很容易给 Java 类加上注解,从而指定对象持久化的方式。开发人员不再需要编写大量数据库集成代码。Hibernate 解决了持久化问题;但是,仍然需要创建 Web 页面来处理这些元素。对于中等规模的 Web 应用程序,典型的开发过程可能是这样的:开发人员首先编写表示某个领域模型的 Plain Old Java Object(POJO),然后创建不同的事务和 Web 用户界面。一部分模型元素常常涉及非事务性数据。客户、国家、地区、职员和公司是业务模型的典型元素,它们由操作员维护。
为什么不生成一个 Web 表示层,让它根据带注解的 bean 创建、添加、列出、删除和搜索这些元素呢?为什么不让这个表示层产生友好的 Ajax 用户体验呢?这就是 jpa2web 工具的主要目标,它采用以下处理流程:
输入:带注解的 POJO bean(和可选的模板)。
输出:一个 Ajax Web 应用程序,它可以处理模型元素并进行持久化。
使用的技术:FreeMarker + ZK + Hibernate(关于这些技术的更多信息,参见 参考资料 中的链接)。
关于 ZK
ZK 是一种开放源码的 Ajax Web 框架,用来为 Web 应用程序创建富用户界面,在开发界面时只需编写很少的代码,而且不需要编写 JavaScript 代码。使用 ZK,可以像设计桌面应用程序那样设计 Web 应用程序。ZK 负责客户机和服务器上的 Ajax 处理。开发人员只需创建一个简单的 XML 文件(称为 zul 文件)来指定用户界面,并用选择的语言编写事件处理函数:Java 代码(编译型)、Bean Shell(解释型 Java)、Groovy、Ruby、JavaScript 等。
这个工具主要使用注解驱动的编程方式指定 ORM 映射。可以重用其中的许多注解来定义 Web 界面或创建可修改的原型。
下面几节解释如何使用 jpa2web 把不同复杂程度的 bean 映射到 Ajax Web 用户界面。接下来,说明 jpa2web 算法的工作原理和一些基本指令。最后,描述 jpa2web 的适用范围和以后的改进。
全文:用 jpa2web 生成 Ajax J2EE Web 应用程序
http://www.wujianrong.com/mt-tb.cgi/7050