在java中实现活动记录的最佳方法是什么?

时间:2008-11-27 16:03:48

标签: java activerecord

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

我想这样做与Ror相似。当您自动向数据库中的表添加字段时,您可以访问Dto中的字段。

我不想添加字段,然后必须将相同的字段添加到DTO声明中。它不是DRY。

4 个答案:

答案 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以实际以类型安全的方式执行查询。