在具有不同列的两个不同数据库上映射实体
Mapping an entity on two different databases with different columns
所以我有这样的情况:
A table T 存在于两个数据库中。其中一个 T 有一个 C 列,而另一个则没有。
我的应用程序在部署时读取一个布尔值,该值告诉它必须连接到哪个数据库。
做一些研究看起来潜在的解决方案可能是:
- 使用具有所有公共属性的 MappedSuperclass 创建两个不同的实体和一个父实体。其中一个子类将具有该附加列,另一个将是“空白”。 See comments on the question here
- 创建两个实体并为每个数据库定义两个PersistenceUnit。然后使用@Table的架构属性来指定正确的架构。
它们正确吗?还有其他建议吗?你知道有什么缺点吗?
两种解决方案都可以。做最适合你的事。
所以我有这样的情况:
A table T 存在于两个数据库中。其中一个 T 有一个 C 列,而另一个则没有。 我的应用程序在部署时读取一个布尔值,该值告诉它必须连接到哪个数据库。
做一些研究看起来潜在的解决方案可能是:
- 使用具有所有公共属性的 MappedSuperclass 创建两个不同的实体和一个父实体。其中一个子类将具有该附加列,另一个将是“空白”。 See comments on the question here
- 创建两个实体并为每个数据库定义两个PersistenceUnit。然后使用@Table的架构属性来指定正确的架构。
它们正确吗?还有其他建议吗?你知道有什么缺点吗?
两种解决方案都可以。做最适合你的事。