Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍 - 编程入门网
ny Rule ’ , 即当尝试删除 Source Object 而这时 Target Object 至少有一个实例存在,则会抛出 RunTime Exception。
这里,由于篇幅关系,就不将建立其他表和表间关系的步骤列出来了。读者可以依照上述例子将其他 DBEntity 及关系建立起来或者参考附录中的源代码示例。然后,需要我们做的就是产生 ObjEntity,即数据库表到 Java 对象之间的映射。也很简单,在每个数据库表的 Entity 面板上点击“同步 DBEntity 到 ObjEntity”按钮即可。只是,要注意在 Relationships 中的 Delete Rule。例如,一旦某个 Client 从表中被删除后,他的相关 Order 记录也需要被级联删除。 图 15. Modeler 产生的 ObjectEnties Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍(7)时间:2011-02-05 IBM 冯鑫 王颖初 陈宁到这,建立模型的过程就告一段落了。接下来,我们让 Modeler 来产生 Database Schema 和 Java Classes. 这可以通过在 Tools Menu 下的 Generate Classes 和 Generate Database Schema 两个按钮来完成。 图 16. 生成 Java 代码和 Database Schema 完成之后,你就会发现在所建的 cayenne-store 工程下面生成了 Java 代码。 图 17. Eclipse 中生成的 Java 代码 以及 cayenneStore 数据库文件目录。 图 18. 文件系统中生成的 Derby 数据库 到此,您可能已经品尝到了 Cayenne 所带来的快捷,比如功能丰富的建模工具 Cayenne Modeler,自动生成 Java 代码等。当然,Cayenne Modeler 还有许多功能和特性。由于篇幅关系,我们就不一一介绍了。 Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍(8)时间:2011-02-05 IBM 冯鑫 王颖初 陈宁Cayenne API 那么,在拥有了 Cayenne 为我们自动产生的代码之后,我们还需要做哪些工作呢?如何应用这些产生的代码呢?接下来,让我们看看 Cayenne 所提供的主要的 API。 DataContext DataContext 类是一个取得 Cayenne 所提供功能的一个用户入口 , 它搭建了一个用户与数据库之间的会话通道,用户通过它来实现与数据库相关的各种操作(如 CRUD)。不同的用户可以建立自己的 DataContext。这里,值得注意的是,DataContext 会主动隔离处在不同 context 中的对象(除非是共享的)。所以,在一个会话中要尽量保持一个 DataContext 实例来操作 DataObjects。 清单 1. 创建一个 DataContext 示例
Query 用户对数据库表的不同操作都可以看成是查询。这里,查询可以分为选择性和非选择性。前者可以看成是对数据库表的读操作,而后者则可看出是对数据库表的插入、删除、更新操作。在 Cayenne 中,有多种 Query 对象可被用户调用。如最常用的 SelectQuery, SQLTemplate Query, ProcedureQuery。 而构建一个 Query 也比较简单。 清单 2. 创建 Query 示例
当然,也可以在 Cayenne M |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |