关于一些O-R Mapping的实现
2005-05-28 02:56
330 查看
关于一些O-R Mapping的实现
最近连续试用了两个O-R Mapping,一个是Hibernate 3,一个是国内的JDO实现Liberator。
Hibernate 3在两层一对多关系时,似乎会性能很差,例如:
Voucher
| 1
|
| 0..*
VoucherEntry
| 1
|
| 0..*
Assist
在ERP系统,可能会有接近10的单据时多层一对多关系的,Hibernate在这方面似乎存在1 + N的问题,而我们在这方面有较好的优化策略。看来,Hibernate的作者尚未总结出一种较好的处理多层一对多关系的算法。
我还没很细致研究Liberator,因为Liberator没有提供源码,通过反编译的方式,不方便调试。而且经过JDO Enhancer的值对象也是不可以调试的,这一点,JDO的局限就显示出来了。JDO不能直接和Eclipse集成使用,而且不能够调试值对象。
Liberator似乎不是很稳定,例如:
final PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(p);
// Obtains a PersistenceManager
final PersistenceManager pm = pmf.getPersistenceManager();
// Construct an Account
final Account account = new Account("foo", "fooLast", "fooPassword", "foo@redsoftfactory.com");
pm.currentTransaction().begin();
pm.makePersistent(account);
pm.flush();
account.setPassword("fooPassword");
pm.makePersistent(account); //这样修改似乎无效
pm.flush();
pm.currentTransaction().commit();
不知道是我理解错误,还是Liberator的BUG。
最近连续试用了两个O-R Mapping,一个是Hibernate 3,一个是国内的JDO实现Liberator。
Hibernate 3在两层一对多关系时,似乎会性能很差,例如:
Voucher
| 1
|
| 0..*
VoucherEntry
| 1
|
| 0..*
Assist
在ERP系统,可能会有接近10的单据时多层一对多关系的,Hibernate在这方面似乎存在1 + N的问题,而我们在这方面有较好的优化策略。看来,Hibernate的作者尚未总结出一种较好的处理多层一对多关系的算法。
我还没很细致研究Liberator,因为Liberator没有提供源码,通过反编译的方式,不方便调试。而且经过JDO Enhancer的值对象也是不可以调试的,这一点,JDO的局限就显示出来了。JDO不能直接和Eclipse集成使用,而且不能够调试值对象。
Liberator似乎不是很稳定,例如:
final PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(p);
// Obtains a PersistenceManager
final PersistenceManager pm = pmf.getPersistenceManager();
// Construct an Account
final Account account = new Account("foo", "fooLast", "fooPassword", "foo@redsoftfactory.com");
pm.currentTransaction().begin();
pm.makePersistent(account);
pm.flush();
account.setPassword("fooPassword");
pm.makePersistent(account); //这样修改似乎无效
pm.flush();
pm.currentTransaction().commit();
不知道是我理解错误,还是Liberator的BUG。
相关文章推荐
- 关于导航栏的一些思考和实现
- 关于linux中nat实现的一些思考
- 关于单链表C语言实现的一些疑惑
- 关于LDA学习的一些有用的博客以及大牛写的代码实现
- 关于servlet+jsp+java实现Web登陆页界面的一些笔记(二)
- 关于webgame实现MMORPG的一些想法
- 最近关于XBRL 业务规则处理器Business Rules Processors的讨论很热闹,也罗列了一些实现Formula的工具
- 关于手机UI和QT实现的一些基本知识
- 深入体验JavaWeb开发内幕——关于servlet的一些实现细节
- 关于前端JS模块加载器实现的一些细节
- 关于Asm.js的一些基本介绍和它的实现
- 关于二维码和动态权限申请的一些功能实现
- 关于链表的一些总结和代码,java实现
- MUI关于父子页面交互之,子页面调用父页面的方法实现一些功能
- 关于实现ListView原生上拉加载的一些细节问题分析
- 关于实现(大)系统的一些小体会
- 一些关于memcpy memmove函数的区别,和模拟实现
- 关于VR(主要是虚拟城市场景)的一些想法及实现(可能会连载)
- 关于安卓里实现监听器回调模式的运用,自己的一些概括理解和总结
- 关于STM32在实现IAP时的一些注意