sdo的三种实现方法

原创 2007年09月25日 09:34:00
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();


  
版权声明:本文为博主原创文章,未经博主允许不得转载。

相位计的三种实现方法

  • 2015年12月29日 21:41
  • 508KB
  • 下载

使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)--方法2

如果不借助ODAC的自定义数据类型,那么也可以使用Oracle Spatial的几个内置SQL函数来实现SDO_Geometry对象的操作 这种方法需要在数据库端对所有数据进行一次转换(不管是在se...

servlet的三种方法的实现

  • 2013年10月09日 20:45
  • 7KB
  • 下载

SCA/SDO,实现SOA的基础【转自程序员】

 SCA/SDO规范的发布,确立了SOA的发展趋势,因此本刊专门就这两个技术规范的发布采访了IBM 北亚太区企业整合解决方案首席架构师暨中国SOA设计中心技术主管毛新生先生。《程序员》:首先请你先从技...

获取CPUID,三种方法实现

  • 2010年06月02日 12:12
  • 53KB
  • 下载

html或jsp实现打印三种方法

1.使用window.print()方法 优点:支持多浏览器 缺点:取消打印,隐藏打印不必要的信息后再显示比较麻烦 如下实现,可以打印当前页面 2.使用第三方插件的功能进行打印,eg:irepor...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sdo的三种实现方法
举报原因:
原因补充:

(最多只允许输入30个字)