`
andyjackson
  • 浏览: 57352 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

ORM for mongo(Java)

    博客分类:
  • java
阅读更多

本人在在某项目过程中,写了一个简单的ORM。。主要实现了实体关系影射的功能。对于缓存策略等,将会再以后有时间再集成进去。由于mongo数据库本身的特性,大家都知道其collection没有列的Constraint,因此对于一些小的分类比较多的实体,可以放在一个collection中(在关系型数据库中,使用的是多张表然后通过一些标志性的字段外加必要的外键关系来实现的),例如:对于商品实体,有许多中商品,纸巾、水杯等,在数据库建模的时候可以忽略各种商品之间细节的差异(如字段不同),统一塞到一个collection中,而javabean与数据库记录之间的转化“多态”的方式进行(具体来说,在运行期间通过目前保存的映射信息来负责其中正确的转化)。但是,目前在利用反射机制遍历实体类的时候,遇到一个问题:在遍历父类完的时候,发现它不仅仅属于父类,因此还要遍历子类,此时,无法利用已经遍历过的数据(无法将父亲的数据成批的copy到儿子中,只能够重新再copy一遍),感觉这样对性能来说是一种浪费。不知道那位高手有更好的办法?

另外,在下一个版本中,肯定会将注解集成进去。

分享到:
评论
2 楼 andyjackson 2010-12-27  
lijjjjil 写道
提醒一下lz,里面错误很多哦:oops:  比如@Override不是用在接口方法上的,不太懂lz说的多态问题,冒昧问一下为何用多态呀,我想的是直接对javabean的字段反射+注解不就能存取了?如果不知道collection对应哪个bean,用泛型能否解决?小弟新手 还有,不知楼主更新了版本没?

这个啊,好像是eclipse自动生成的,用jdk1.6以上就是,eclipse才能识别。参见http://tj-dragon.iteye.com/blog/578817
另外,我懂楼上说的“接对javabean的字段反射+注解不就能存取”,但是我在做这个orm的时候没有利用注解,是通过xml配置的方式。所以不存在冲突~~~“如果不知道collection对应哪个bean,用泛型能否解决?”在orm中存储了java实体类与数据库中的collection之间的映射关系(可以看看mogodb中collection的意思),我不太认为泛型能够解决,不知道你有什么想法。。。对于新版本的问题,说实话我好久没有摸了本来就是做项目的时候写着玩玩的(也可以说是项目所需)
1 楼 lijjjjil 2010-12-26  
提醒一下lz,里面错误很多哦:oops:  比如@Override不是用在接口方法上的,不太懂lz说的多态问题,冒昧问一下为何用多态呀,我想的是直接对javabean的字段反射+注解不就能存取了?如果不知道collection对应哪个bean,用泛型能否解决?小弟新手 还有,不知楼主更新了版本没?

相关推荐

Global site tag (gtag.js) - Google Analytics