在具有不同列的两个不同数据库上映射实体

Mapping an entity on two different databases with different columns

所以我有这样的情况:

A table T 存在于两个数据库中。其中一个 T 有一个 C 列,而另一个则没有。 我的应用程序在部署时读取一个布尔值,该值告诉它必须连接到哪个数据库。

做一些研究看起来潜在的解决方案可能是:

  1. 使用具有所有公共属性的 MappedSuperclass 创建两个不同的实体和一个父实体。其中一个子类将具有该附加列,另一个将是“空白”。 See comments on the question here
  2. 创建两个实体并为每个数据库定义两个PersistenceUnit。然后使用@Table的架构属性来指定正确的架构。

它们正确吗?还有其他建议吗?你知道有什么缺点吗?

两种解决方案都可以。做最适合你的事。