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();
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
企业应用技术架构演进史
企业应用技术架构的演进会经历3个主要阶段:主机架构、客户机/服务器架构、企业服务架构。他们之间的主要区别是……
-
SCA的演化
开发一个SOA应用系统,编程模型和数据模型是其两个重要方面,SCA用于提供编程模型,SDO则提供了数据模型……
-
SOA走向开源 打破私有软件封闭“门槛”
OpenSource,开放源代码,和SOA,服务导向的架构,是目前最为前沿的IT行业趋势。IT行业分析公司Gartner认为SOA……
-
SOA走向开源打破私有软件封闭门槛
OpenSource,开放源代码,和SOA,Service-OrientedArchITecture,服务导向的架构,是目前最为前沿的IT行业趋势……