一个另类的java持久化框架--简单持久化

11:59下午 三月 13, 2006 in category 数据库 by nile black

我们的java持久化还"冬眠"在hibernate,或是其他一些
JDO,或是EJB。我都已经厌烦了那些配置文件了,虽然有些doclet,那些@开头的东西都在扰乱我们的视线。在写一个Bean的时候,脑子里都装着不是Bean本身,而是数据库的表结构,天哪,这是一个外键,...此时却有人在尝试的新的探索,"没有XML,没有表格创建,没有生成ID,...."有点夸张了吧...

我们的java持久化还"冬眠"在hibernate,或是其他一些
JDO,或是EJB。我都已经厌烦了那些配置文件了,虽然有些doclet,那些@开头的东西都在扰乱我们的视线。在写一个Bean的时候,脑子里都装着不是Bean本身,而是数据库的表结构,天哪,这是一个外键,...此时却有人在尝试的新的探索,"没有 XML,没有表格创建,没有生成ID,..."太夸张了吧。

偶尔在java的快讯里面看到了这么一条消息 Simple Persistence for Java

项目名称简单明了,java的简单持久化。就跟项目名称一样,一切都太简单了,完全可以不知道什么是数据库了。

框架提供了一个Java对象/关系映射框架,它设计的目的正是为了使用方便。其中没有编写的XML
文件,没有创建的表格,没有生成的ID,也没有主键...

Home->Turorial->Api 一路看下来,有点心旷神怡的感觉。(夸张)
Step 1:
Store myStore = new Store("org.postgres.Driver","jdbc:postgres:mydb");
或者
Store myStore = new Store((DataSource) ctx.lookup("jdbc/myds"));
关于需要知道数据库的东西就到这里为止了。从此可以把关于数据库的知识从大脑中unload了,节省点内存。
Step 2:
创建对象
public class Book{
private String title;
private Author author;
...getter setter ...
}
public class Author{
private String firstName;
private String lastName;
private Date birthDate;
}
然后创建对象
Book book = new Book();
book.setTitle(``)
Author author = new Author();
author.set....
book.setAuthor(author);
Step 3:
增删查改
保存
store.save(book);
删除
store.delete(book);
查询
List books = store.find(``find book'');
条件查询
List books = store.find(``find book where title='Simple Persistence for java''');
List books = store.find(``find book where book.author.firstName = 'Neal''');
参数查询
List books = store.find("find book where book=?",new Object[] { b });
修改
你也想到了只需把对象查出来,然后修改bean里的信息,然后保存就OK了。

一点高级特性:
List Map支持
Transaction支持

没有标,没有SQL,没有配置文件,果真就像所说的。

但是这样的做法,对于其性能没有认真深入的测试过。
对于更复杂的数据结构有没有一种可以自己定义的扩展的解决办法等等。

刚刚出了 1.0,我们还可以拭目以待。
Simple persistence for Java 1.1.0

Comments[0]

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed