开源面向对象数据库db4o之旅

面向对象的数据库db4o: 初识db4o

醉酒当歌 提交于 2019-12-03 15:38:16
前言 业界对持久存储领域的追求从未停止过,为了更方便、更容易地用对象表达我们的思维,开源领域和商业领域都涌现了许多新技术, ORM 的出现恰恰说明了这点。最近一年,业界也在反思,到底 ORM 给我们带来的是便利还是麻烦。矛头指向大名鼎鼎的 Hibernate ,纷纷议论其性能问题,大家似乎要达成这样的共识:“在业务逻辑复杂的地方用 SP ,而一般的 CRUD 还是 Hibernate ”,就连全球知名的 BearingPoint 也有类似看法。下面一个简单的例子,说明了传统 ORM 工具的弊端。让我们考虑一个简单的 Student 对象如 清单1 : 清单1. Student 类 public class Student { private String name; private int age; public String getName(){ return name; } public int getAge(){ return age; } } 考虑下面这个场景:找到“年龄小于 20 岁的所有学生”? 使用 ORL 实现如 清单2 : 清单2. ORL 实现 String oql = "select * from student in AllStudents where student.age <20"; OQLQuery query = new OQLQuery(oql);