原文: http://www.theserverside.com/tt/articles/article.tss?track=NL-461&ad=703538&l=AutomatingHibernateMapping&asrc=EM_NLN_6978782&uid=6459159
Hibernate是一个很强大的 关系数据库和Java对象 映射的工具。设置Hibernate对象DB映射,开发基本的Hibernate查询来对数据库数据进行创建、读取、修改和删除的操作是单调乏味的,而且相当耗时。 这篇文档介绍WaveMaker:一种自动生成Hibernater类,包括对对象表的管理、创建客户化的HQL查询、定义客户化的Hibernate视图的支持。 WaveMaker studio是一个免费、开源的工具。 WaveMaker输入数据库的schema,并且自动生成相关的Hibernate类。采用WaveMaker开发者可以修改schema,通过可是编辑器,定义视图和创建查询语句。当映射关系、视图、查询语句确定后,WaveMaker产生eclipse-ready 项目文件或者war文件,能够部署到任何Java服务器。Wavemaker同时提供可视化工具来连接Hibernate类和Ajax前台使用(Ajax front end)。
------------------------
Hibernate And Web Development The Hard Way - Hand Coding The Hibernate "Stack"
Hibernate 和Web开发 : The Hard Way --- 手工编码 The Hibernate “Stack”
采用Hibernate,开发者能够连接复杂的关系型schema和等价的复杂的Java对象,完成 关系型、查询和事务。然而所有这些功能带来代价。
Hibernate有一个学习曲线,要求理解整个查询语言(Hibernate Query Language,或HQL),一种特殊格式对指定的数据映射(hbm。xml文件),并且还有另一种格式对于连接数据库(cfg.xml文件)
另外,用HIibernate要求有Java编程有比较好的处理技术,来创建Java类来实现方法设置/获取属性和关系值。每个HQL查询同样要求有自己的Java类。
对于开发Web程序的Java开发者,获取服务器端的Hibernate架构只是开始。开支着需要使用服务,例如JSON RPC来串行化Java数据成JSON格式,传输到客户端。同样,客户端的框架也需要一种方式调用服务端的Hibernate方法,同时来来回回的传递必须的JSON结构
----------------------------------------------------------------
Hibernate and Web Development The Easy Way - Automated Generation of Hibernate Files
一条简单的方法 --- 自动生成Hibernate 文件
给定一个数据库schema,几乎所有的Hibernate映射到Java类的代码能够自动生成。同样,给定的HQL查询和数据库schema,Java类和xml文件 来实现查询也可以生成。最后,给定一系列的Java类,创建乙烯利的JSON RPCs,自动的来来回回的传输数据在JavaScript客户端和Java服务器端。
WaveMaker十一哥开源产品,完全自动化生成Hibernate文件来存取数据库,同时在JavaScript客户端和Java服务器端管理JSON通讯。 通过WaveMaker,创建一个端到端的Java应用程序:Web浏览器和数据库,很大程度上自动化了。使用WaveMaker有以下步骤:
1. 导入一个已存在的schema或者创建一个schema:
WaveMaker数据模型编辑器能够导入或者创建schema,可以使用绝大部分的主流数据库,包括MySQL、PostgreSQL、Oracle、DB/2,和MS SQL。 WaveMaker内含HSQLDB。所有Hibernate Java类和xml映射文件在这个时候自动生成。
2.创建客户查询:
WaveMaker HQL 查询编辑器允许你创建和调试Hibernate HQL查询语句 on the fly(查字典是在飞行中,不工作。这里指不能够工的HQL查询?)。指定查询语句和给定参数,则可以根据给定的参数测试查询的结果
3.增加客户Java(Add customer Java):
使用Eclipse或者其他标准的Java IDE工具,增加Java类库或者Java 类到WaveMaker
4.使用拖拉工具,创建Web GUI :
使用WaveMaker的基于浏览器的studio,拖拉Ajax小部件(widgets),通过可视化绑定工具,连接他们到Hibernate方法。你能够在WaveMaker内建的tomcat中,动态运行这些应用程序。
5.部署程序到任何Java服务器:
使用WaveMaker在线部署的能力,创建一个WAR文件,部署到任何Java服务器,如:Tomcat、JBoss、glassfish、webSphere、WebLogic。
下面的截屏显示了主要的WaveMaker屏幕。注意这个运行在一个浏览器中(WaveMaker Studio用WaveMaker创建) ,对创建可视化的程序,有一个可拖拽的界面。
下面这个表,比较了 用手工和用WaveMaker自动化同样的任务 用Java和Hibernate创建一个Web应用程序所需要的步骤,
ask |
Hand coding in Java |
Automated with WaveMaker |
Identify existing data schema or create new one |
Use DB admin tool like SQLYog |
Use WaveMaker to import or create new schema |
Create Java classes for each table in schema |
By hand for each table |
Automated |
Define Hibernate mapping file for each Java class |
By hand for each table |
Automated |
Build Hibernate configuration file for DB login |
By hand for each project |
Automated |
Build Ant file to compile project |
By hand for each project |
Automated |
Write Java startup class for Hibernate |
By hand for each project |
Automated |
Write and test Hibernate HQL queries |
Compile, link, curse, fix, compile, link, ... |
WaveMaker has a built-in HQL editor that allows you to write and test queries on the fly |
Create Java classes for each Hibernate query |
By hand for each query return type |
Automated |
Create JSON RPC mechanism to move data between Java server and Javascript client |
By hand for each class and query return type |
Automated |
Write Javascript to display and edit data with AJAX class library such as Dojo |
By hand for each widget |
Visual, drag and drop studio connects Dojo widgets to Javascript services that invoke Hibernate methods. |
WaveMaker可以在www.wavemaker.com中下载,或者通过www.wavemaker.com/cloud下载cloud version