我目前正在从事一个 Grails 项目,该项目有一个包含大量数据的静态生产数据库。我想使用生产数据测试我的应用程序,但不必克隆生产数据库,我想为生产数据库设置一个代理数据库。
本质上,对数据库的读取将一直到生产数据库,而写入将在代理数据库(最好是 h2 数据库)处停止。如果更新了来自生产数据库的行,则该行将保存到代理数据库并在后续查询中返回,而不是生产行。
我想对应用程序尽可能透明地完成所有这些工作。我目前的想法是我需要分叉 Hibernate GORM 实现并使其支持这个用例。以前有这样做过吗?有没有更好的办法?