由于与现有遗留代码和流程相关的各种原因,我希望能够使用 Hibernate 将单个实体类映射到具有相同结构的不同表。这些表是在运行时从另一个已知表动态创建的。因此,例如,我将有以下课程:
public class Item {
private int id;
private String label;
...
}
这将被映射到 3 个不同的表,ITEM1
,ITEM2
并且ITEM3
都具有相同的结构:
CREATE TABLE ITEM[1|2|3] (
NUMBER id PRIMARY KEY,
VARCHAR label NOT NULL)
正如所述表将根据一些外部配置/条件在运行时创建。
我已经审查了关于 SO 的以下问题:
并且建议的解决方案(子类化)虽然可能并不吸引人。这意味着运行时动态类创建的一些黑魔法,如果可以的话,我宁愿避免。
从这个和这个博客文章中,我相信可以创建动态的 Hibernate 映射,它将同一个实体映射到多个表。
有没有人有更多实施这种动态映射的经验?