2

我想知道Map<String,Object>对于普通记录的简单实现是否就足够了。

我想做类似于 Ror 的事情。当您自动将字段添加到数据库中的表时,您可以访问 Dto 中的字段。

我不想添加一个字段,然后必须将相同的字段添加到 DTO 声明中。它不干燥。

4

4 回答 4

2

看看这个: http: //javalite.io/ - 这是 Java 中 ActiveRecord 的实现

于 2010-08-02T09:33:53.620 回答
1

我认为您正在寻找一个非常轻量级的对象关系映射工具?

如果您想自己动手,那么 developerWorks 上的这篇文章中有一个小示例。

您可能想查看其他任何数量,但 Hibernate、JPA 和 JDO 可能是最受欢迎的。Prevayler类型系统可能是您正在寻找的。当然,这些都可能不是您所追求的。你能再具体一点吗?

于 2008-11-27T16:24:13.107 回答
1

如果DRY对您来说是重要的关键字,那么您应该考虑从数据库模式生成源代码(反之亦然)。在 ORM 世界中,Hibernate 提供了出色的源代码生成工具。

由于您不是在寻找 ORM 解决方案,我可以向您推荐我的数据库抽象工具 jOOQ:http: //jooq.sourceforge.net

它结合了从您的数据库模式生成的类似 ActiveRecord 的结构,以及一个查询 DSL,以便以类型安全的方式实际执行您的查询。

于 2011-02-19T11:27:00.057 回答
1

这取决于你想要什么。

Java 是一种静态语言,因此您不能执行 RoR ActiveRecord 技巧,它将方法动态添加到类中,除非您想自己操作字节码。

这意味着您必须在 java 方法(getter/setter)和数据库表之间的某处声明映射。

您可以基于表生成 java 类的代码,也许这就是您想要的?

于 2010-08-02T10:02:02.567 回答