我有一个遗留数据库,其中包含一个包含2列的表,称之为“TYPE”和“ID”,它们将引用其他实体。问题是只有TYPE值的一个子集将引用其他实体。例如:
- TYPE = 0 - “无” - 无实体
- TYPE = 2 - “计算器” - ID是计算器实体的ID
- TYPE = 5 - “支付价值” - 无实体
- TYPE = 6 - “a series” - ID是系列实体的ID
我已经看到@Any和@AnyMetaDef可用于将“TYPE”列和“ID”映射到多态实体但是那些不映射到实体的“TYPE”值呢?
对于如何处理这种情况有最佳做法吗?
- 我想知道Void.class的targetEntity是否可以安全地用于值0和5,如果在这种情况下hibernate会返回null。
- 这不允许我区分None和PayValue案例。是否有可能让hibernate返回None和PayValue类型的单例对象,以便可以执行instanceof测试,或者只允许将TYPE列作为普通的持久字段读取?
感谢。