我不知道用簡單的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