使用 Grails 开发 Google App Engine 应用
2010-06-24 00:00:00 来源:WEB开发网名词解释
数据存储区
GAE 为应用提供了分布式数据存储服务,其中包含查询引擎和事务功能。数据存在一个叫做数据存储区的空间中,这个数据存储区则有别于传统的关系数据库。其中的数据对象(或“实体”)有一类和一组属性。
实体
GAE 中将存储数据对象称为实体。一个实体有一个或者多个属性(参见 属性值类型),属性可以是对另一个实体的引用。
实体组
多个实体的组合。GAE 的数据存储区通过 “实体组”实现事务,在一个事务中执行多项数据存储区操作(全部成功或者全部失败,从而确保数据的完整性)。应用程序可以在实体创建时将实体分配到实体组。
键
每个实体在 GAE 中都有一个唯一标示自己的键值。这个键值可以是长整型 (java.lang.Long),也可以是 Key 实例 (com.google.appengine.api.datastore.Key)。如果在保存一个新对象时,给对象指定的键值已经被类型相同(且具有相同父实体组)的另一对象使用,那么保存时就会新的对象就会覆盖旧的对象。
如果将主键设置为长整型 (java.lang.Long),可以由数据存储区自动生成。对于没有父实体组的独立实体,可以采用这种主键。
如果将主键设置为 Key 实例 (com.google.appengine.api.datastore.Key),可以由数据存储区自动生成,也可以通过 KeyFactory 显示的创建。如果实体有父实体,那么 Key 的形式为:父实体键 / 子实体键。关于 KeyFactory 的用法将在后面的内容中介绍。
有主关系
所谓有主关系,就是一个对象无法脱离另一个而存在。
无主关系
所谓无主关系,就是两个对象都可存在,只是不会顾及彼此。
事务
事务,这个概念大家都明白。GAE 的数据存储区是支持事务的,程序可以在单个事务中执行多个操作和计算。GAE 插件将事务封装在了一个名为 withTransaction 的方法中。对于实体的新增、修改、删除都必须放在事务中进行,即在 domainName. withTransaction{} 中进行。
更多精彩
赞助商链接