我想知道Map<String,Object>
对于普通记录的简单实现是否就足够了。
我想做类似于 Ror 的事情。当您自动将字段添加到数据库中的表时,您可以访问 Dto 中的字段。
我不想添加一个字段,然后必须将相同的字段添加到 DTO 声明中。它不干燥。
我想知道Map<String,Object>
对于普通记录的简单实现是否就足够了。
我想做类似于 Ror 的事情。当您自动将字段添加到数据库中的表时,您可以访问 Dto 中的字段。
我不想添加一个字段,然后必须将相同的字段添加到 DTO 声明中。它不干燥。
看看这个: http: //javalite.io/ - 这是 Java 中 ActiveRecord 的实现
如果DRY对您来说是重要的关键字,那么您应该考虑从数据库模式生成源代码(反之亦然)。在 ORM 世界中,Hibernate 提供了出色的源代码生成工具。
由于您不是在寻找 ORM 解决方案,我可以向您推荐我的数据库抽象工具 jOOQ:http: //jooq.sourceforge.net
它结合了从您的数据库模式生成的类似 ActiveRecord 的结构,以及一个查询 DSL,以便以类型安全的方式实际执行您的查询。
这取决于你想要什么。
Java 是一种静态语言,因此您不能执行 RoR ActiveRecord 技巧,它将方法动态添加到类中,除非您想自己操作字节码。
这意味着您必须在 java 方法(getter/setter)和数据库表之间的某处声明映射。
您可以基于表生成 java 类的代码,也许这就是您想要的?