我刚刚用 eclipselink 搜索了动态映射,我找不到适合我的情况的解决方案,现在在我的系统中,一个实体有 3 个版本,一个正在工作/草稿(即 W100),另一个是生产(即 M100),剩下的一个是历史版本(H100),我们可以随时访问工作、生产和历史版本。IE
Account account = // query from working.
account.setStatus("APPROVED");
account.increaseVersionNo();
myJPAEngine.updateApproved(account); // this step update status to both working and production
//, and W100.PRODUCTION_IPKEY = M100.IPKEY
// (if production version does't exist
//, create a new one with same columns as working version).
//, if increaseVersionNo() called, then we need copy old 'M'- production record to 'H' history version table.
//, my JPA engine need access both 'W'/'M'/'H' tables at same time by passing a parameter to JPA API metadata classes by ThreadLocal or other related workaround.
eclipselink(或 Hibernate)是否支持这个?我的动态映射接受一个参数来决定使用哪个表,也就是说这是一个交互式动态映射。我们可以以及如何将一些自定义插入到 eclipselink 元数据类中?
谢谢。