我想知道使用普通记录的简单Map<String,Object>
实现是否足够。
我想这样做与Ror相似。当您自动向数据库中的表添加字段时,您可以访问Dto中的字段。
我不想添加字段,然后必须将相同的字段添加到DTO声明中。它不是DRY。
答案 0 :(得分:2)
看看这个:http://javalite.io/ - 这是Java中ActiveRecord的一个实现
答案 1 :(得分:1)
我认为您正在寻找的是非常轻量级的对象关系映射工具?
如果你想自己推出,那么在developerWorks上this article就有一个很小的例子。
你可能想看看其他人,但Hibernate,JPA和JDO可能是最受欢迎的。 Prevayler类型系统可能是您正在寻找的。当然,这些都不是你所追求的。你能更具体一点吗?
答案 2 :(得分:1)
这取决于你想要的东西。
Java是一种静态语言,所以除非你想自己操作字节代码,否则你不能动态地将方法添加到类中的RoR ActiveRecord技巧。
这意味着您必须在java方法(getter / setter)和数据库表之间声明一个映射。
你可以根据表格进行java类的代码生成,也许这就是你想要的?
答案 3 :(得分:1)
如果 DRY 是您的重要关键字,那么您应该考虑从数据库架构生成源代码(反之亦然)。在ORM世界中,Hibernate提供了出色的源代码生成功能。
由于您不是在寻找ORM解决方案,我可以向您推荐我的数据库抽象工具jOOQ:http://jooq.sourceforge.net
它结合了从数据库模式生成的类似ActiveRecord的结构,以及查询-SL以实际以类型安全的方式执行查询。