我不知道用简单的Map<String,Object>
执行普通记录是否够用。在java中实现活动记录的最佳方式是什么?
我想做类似于罗尔。当您自动向数据库中的表中添加字段时,您可以访问Dto中的字段。
我不想添加一个字段,然后必须将相同的字段添加到DTO声明。它不是干的。
我不知道用简单的Map<String,Object>
执行普通记录是否够用。在java中实现活动记录的最佳方式是什么?
我想做类似于罗尔。当您自动向数据库中的表中添加字段时,您可以访问Dto中的字段。
我不想添加一个字段,然后必须将相同的字段添加到DTO声明。它不是干的。
我想你在寻找一个非常轻量级的对象关系映射工具?
如果您想推出自己的产品,那么在developerWorks上有一个小例子this article。
你可能想看看其他人,但Hibernate,JPA和JDO可能是最受欢迎的。 Prevayler类型系统可能是你正在寻找的。当然,这些可能都不是你想要的。你能更具体一点吗?
看看这个:http://javalite.io/ - 这是ActiveRecord的关于Java
实现这取决于你想要什么。
Java是一种静态语言,因此您不能在RoR中使用ActiveRecord技巧,将动态方法添加到类中,除非您想自己操作字节代码。
这意味着你必须在java方法(getter/setter)和数据库表之间声明一个映射。
你可以做基于表的Java类的代码生成,也许这是你想要的?
如果DRY是您的重要关键字,那么您应该考虑从您的数据库模式生成源代码(反之亦然)。在ORM世界中,Hibernate带有出色的源代码生成工具。
既然你是不是在找一个ORM解决方案,我可以推荐我的数据库抽象工具jOOQ给您:http://jooq.sourceforge.net
它结合了从数据库模式生成的ActiveRecord状结构,以及一个查询,DSL以类型安全的方式实际执行您的查询。
我看到你在这里做了什么;) – perrohunter 2016-01-06 09:29:25