2

我正在开发(另一个)供个人使用的 java web 框架,除此之外,我还想开发某种持久性框架。

我已经开发和引擎,为了访问表,您必须只扩展一个类并创建具有与表中相同类型和名称的字段。前任:

private int id;
private String nome; 

所以您现在只需要构建查询并执行。引擎将值放在正确的字段上。

最近我对 Django 有很好的体验,为了更新、创建和过滤你只需要调用 .save()、.create(field1=field, field2=213) 和 .filter(filterfield) 的表=价值)。

我想构建它,但我遇到了一些麻烦,因为扩展类实际上必须写更多,我不想强​​迫。我有想法让扩展类编写一个实现接口的枚举。因此,超类获取这些字段以及私有 HashMap(键是枚举)并保留值,因此客户端只需调用:

String nome = Usuarios.get(Usuarios.fields.name); 

检索值。

Usuarios.update(new Pair(Usuarios.fields.name, "José Leal"), new Pair(Usuarios.fields.sobrenome, "Domingues")); 

要更新等等。

有人有更好的主意吗?我也使用速度框架,所以我希望我的字段可以被它的 getter 访问。

ps:我知道hibernate等的存在。

4

1 回答 1

4

我建议您不要强迫用户为其模型对象扩展您自己的类之一。这使它们无法扩展自己的类,并使它们更容易受到您以后可能进行的 API 更改的影响。

看到 javax.persistence 已经定义了可用于将属性映射到数据库的注释,我建议您让用户使用带注释的属性为他们的模型对象创建 POJO。这样,除了提到的其他好处外,您还可以遵循已经建立的标准,从而降低用户的进入门槛。

于 2009-02-05T15:51:43.587 回答