我们还需要往EAttribute name里添加两个EAnnotations注解。首先添加名为queryableProperty的EAnnotations注解,并设置如下的source值和详细的keys和values:
EAnnotation | Source | queryableProperty | ||
Details Entry Details Entry | Key Key | unique visibility | Value Value | true DEFAULT |
再添加名为teamProperty的EAnnotations,并设置如下的source值和详细的keys和values:
EAnnotation | Source | teamProperty | ||
Details Entry Details Entry | Key Key | id dbStringSize | Value Value | false SMALL |
我们还需为Category添加一个名为description的EAttribute,添加过程与name EAttribute类似,在此略去读者只需重复上述过程即可。唯一不同的是把dbStringSize调整为LARGE来获取大于2048字节的存储空间。
最后我们为Category添加名为image的EReference,并设置如下的属性:
Name | image |
EType | Content |
Lower Bound | 0 |
Upper Bound | 1 |
Lower Bound设为0,Upper Bound设为1表示每个Category只有0或1张图片。如果允许每个种类有多张图片可以把Upper Bound设为-1,这样在生成的Category POJO里将会有一个图片的List。
Category的EClass就建好了,重复上述过程建立Product和Seller的EClass,建完后,整个ecore模型就建好了,如下图15所示:
图 15. ecore模型
接下来我们运行Jazz提供的code gen工具,进行从ecore模型到Java代码的自动生成。在Package Explorer 视图中,右键点击petstore.ecore文件然后选择执行Jazz Tools->Generate Component,这样所有持久层的代码都会自动生产到src-gen目录中,如图16所示:
图 16. 生成的模型层代码
生成完模型层的代码后,PetStore数据模型层的设计和持久化就完成了.接下来需要进行业务服务层的设计与实现,这将在本系列文章的第二部分中介绍。
总结
本文首先介绍了Jazz的技术架构和编程模型,让读者对Jazz技术平台和开发方式有个直观的认识。然后结合PetStore应用实例,详细阐述如何利用Jazz平台的O-R mapping完成数据模型设计和持久化的过程。
参考资料
Jazz新手入门为您全面介绍Jazz平台的技术概览,并提供相关的入门学习资源
Jazz技术文档中心为您提供最新的Jazz技术文档和入门教程,是深入学习Jazz技术的非常好的中文技术资源。
Hello Jazz介绍了如何编写简单的Jazz组件