`
hongsoft
  • 浏览: 299898 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sdo的三种实现方法

阅读更多
1)就是 tuscany das的实现了,大家有兴趣可以自己去看看。
2)就是 EOS das的实现方式了。
其实就是对hibernate的一个扩充,实现了 sdo-r。
一个sdo是可以对应多个不同的 hbm mapping的,这个需要用studio的形式让用户做选择和配置。
3) Eclipse Teneo方式
teneo以前是elver 持久化组件,后来并入了Eclipse EMF Tools项目。
它的本质就是在 emf 对象和 hibernate/sdo间加了一个桥梁,这样我们只需要关注EMF对象的关系,而不用过多的考虑每一个eObject该如何与数据库表对应。

一般是用hibernate了,在这样的情况下,Teneo会根据ePackage所描述的Model中的eObject对象之间的关系,自动的产生hiernate.hbm.xml映射文件。
但是会有 数据库表结构需要 手工定的情况,这样的情况下,还是需要和EOS一样,用图形方式来让用户
选择。
可以参考  http://www.elver.org/hibernate/tutorialone/tutorial1_intro.html, 如果不想深入,
可以只看看下面的代码:
final HbDataStore dataStore = HbHelper.INSTANCE.createRegisterDataStore(dataStoreName);
dataStore.setEPackages(new EPackage[] { LibraryPackage.eINSTANCE });

final SessionFactory sessionFactory  = dataStore.getSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();

LibraryAdapterFactory adapterFactory = new LibraryAdapterFactory();

Library library  = LibraryFactory.eINSTANCE.createLibrary();
library.eAdapters().add( adapterFactory.createAdapter(library) );
library.setName("My Library");

session.save(library);

Writer writer = LibraryFactory.eINSTANCE.createWriter();
writer.setName("Writer One");

Book book = LibraryFactory.eINSTANCE.createBook();
book.setPages(305);
book.setTitle("The Hobbit");
book.setCategory(BookCategory.SCIENCE_FICTION_LITERAL);
book.getWriter().add(writer);

library.getWriters().add(writer);
library.getBooks().add(book);

session.getTransaction().commit();
session.close();


  
分享到:
评论

相关推荐

    sdo的java实现规范

    它提供了一种通用的方法来访问和处理来自不同来源的数据(如关系数据库、XML文档或对象模型)。SDO的核心价值在于其能够简化跨不同数据源之间的数据交换,并且支持动态创建和操作数据模型。 #### 三、SDO的关键概念...

    canopen实例分析之SDO

    SDO的通信可以被视为一种客户/服务器模型,其中请求进行读写操作的节点扮演客户端的角色,而被读写数据的节点则扮演服务器的角色。为了实现将节点2的数据传送到节点3,我们设定节点1为主站(Client),整个数据传送...

    shp2sdo, a tool to convert shp to sdo oracle

    4. **shp2sdo工具**:这个工具实现了将Shapefile转换为Oracle SDO对象的过程,使得非Oracle Spatial原生格式的数据能够顺利导入数据库,便于进一步处理和应用。 5. **转换过程**:使用shp2sdo,通常涉及读取...

    Service Data Objects (SDO) Programmer Guide

    Service Data Objects (SDO) 是一种用于处理数据对象的标准技术,它支持跨平台的数据对象处理,允许开发者以一致的方式操作来自不同源的数据。SDO 的主要特性包括对数据模型的独立性、强大的数据绑定能力以及支持...

    SDO-Specification

    三、SDO规范的应用场景 SDO规范特别适用于以下几种场景: 1. **数据集成**:在需要从多个数据源(如不同的数据库、XML文档、Web服务等)中提取和整合数据的应用中,SDO提供了一种统一的抽象层,简化了数据集成的...

    What is SDO

    当时,由于JAXB和JDO等现有技术在通用性方面存在局限,因此出现了对于一种更为灵活的数据处理方法的需求。与此同时,微软也推出了ADO.NET,为数据处理提供了另一种视角。SDO 1.0规范随即由Eclipse基金会开发并开源。...

    SCA和SDO标准(PDF文档)

    #### 三、SDO的作用 **SDO** 是一个标准化的数据操作框架,用于简化和统一不同数据源之间的数据访问和处理。SDO的主要特点包括: 1. **统一的数据访问**:SDO提供了一致的API,使得开发者可以通过相同的接口访问...

    Oracle sdo_geometry空间坐标系转换

    其中最关键的功能是`sdo_cs.transform`函数,它可以将一个给定的空间对象从一种坐标系统转换到另一种坐标系统。 ##### 函数语法: ```sql sdo_cs.transform( geometry IN OUT NOCOPY MDSYS.SDO_GEOMETRY, from_...

    进入SDO殿堂 SDO入门学习必备

    Service Data Objects (SDO) 是一种数据编程架构及API标准,旨在提供统一的方法来处理来自不同数据源的数据,如数据库、XML文件等。SDO的目标是简化数据处理过程,使得应用程序、工具和框架在查询、读取、更新和检验...

    Oracle 10g SDO网络自动建立及其基于MapX_MapXtreme的数据可视化方法.pdf

    在SDO网络的自动建立中,分为三个步骤:基础创建、基本元素的自动建立和层次网络的自动建立。基础创建涉及到在数据库中创建SDO网络结构,包括元数据、存储表格和索引。这一过程可以调用SDO-NET包的CREATE_SDO_...

    sdo 实例需要的六个 jar包

    SDO(Service Data Objects)是Java平台上的一个标准接口,它提供了一种统一的方式来访问和管理数据。在Java开发中,SDO可以帮助开发者处理各种不同类型的数据源,如数据库、XML文档或其他服务。SDO实例通常需要一...

    SOA实施案例(pdf)

    #### 三、SCA与SDO的开源实现 1. **Apache Tuscany** - Apache Tuscany是一个正在孵化中的开源项目,专注于提供一个基于SCA和SDO的SOA运行时环境。 - 目前已有的实现包括Java和C++版本,其中Java版本可以通过...

    SCA实现-C++.docx

    3. **源码实现**:在`CalculatorImpl.cpp`中,实现`CalculatorImpl`类的构造函数、析构函数以及接口方法。 通过以上步骤,你可以在SCA环境中创建一个简单的C++服务,该服务提供基本的算术运算。在实际应用中,你...

    FPGA实现SPI总线

    在FPGA中实现SPI总线,不仅需要理解SPI的基本原理和信号定义,还要熟悉FPGA的编程方法和架构设计。通过合理设计控制逻辑、时钟管理和数据移位,可以实现高效、稳定的SPI通信。HSC-ADC-EVALC平台的例子展示了如何将...

    CanOpen_c++canopen_swimmingntz_canopen_canopen.c

    例如,可能有`CanOpenDevice`类,包含初始化、发送PDO、接收PDO、处理SDO请求等方法。 四、辅助资料 `CanOpen协议.pptx`文件很可能是关于CanOpen协议的详细讲解,涵盖了协议的架构、功能、报文格式等内容,有助于...

    ArcSDE vs Oracle Spatial

    - **Oracle Spatial**:通过 `SDO_GEOM.SDO_UNION` 和 `SDO_GEOM.SDO_DIFFERENCE` 函数实现几何对象的组合与分割。 - **ArcSDE**:使用 `ST_UNION` 和 `ST_DIFFERENCE` 函数完成类似的操作。 ##### 几何对象聚合 -...

Global site tag (gtag.js) - Google Analytics