我正在开发(另一个)java web框架供个人使用,除此之外我还想开发一些持久性框架。
我已经开发了引擎,为了访问该表,您必须只扩展一个类并使用与表中相同类型和名称创建字段。例如:
private int id;
private String nome;
所以你现在只需要构建查询并执行。引擎将值放在正确的字段上。
最近我对Django有了很好的体验,为了更新,创建和过滤你需要调用的表.save(),. create(field1 = field,field2 = 213)和。滤波器(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等的存在。
答案 0 :(得分:4)
我建议你不要强迫用户为你的模型对象扩展你自己的一个类。这会阻止他们扩展自己的类,并使他们更容易受到以后可能进行的API更改的影响。
看到javax.persistence已经定义了可用于将属性映射到数据库的注释,我建议您让用户为带有注释属性的模型对象创建POJO。这样,除了提到的其他好处之外,您还遵循已经建立的标准,从而降低了用户进入的门槛。