我在使用 JPA/Spring 的一个特定问题上遇到了一些麻烦:
如何动态地将模式分配给实体?
我们有属于架构 AD 的 TABLE1 和属于 BD 的 TABLE2。
@Entity
@Table(name = "TABLE1", schema="S1D")
...
@Entity
@Table(name = "TABLE2", schema="S2D")
...
模式可能不会在注释属性中进行硬编码,因为它取决于环境 (Dev/Acc/Prd)。 (接受模式是 S1A 和 S2A)
我怎样才能做到这一点?是否可以像这样指定某种占位符:
@Entity
@Table(name = "TABLE1", schema="${schema1}")
...
@Entity
@Table(name = "TABLE2", schema="${schema2}")
...
以便根据驻留在环境中的属性文件替换模式?
干杯
原文由 javacoder 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了同样的问题,我用 persistence.xml 解决了这个问题,我在其中引用了我声明的 db shema 中所需的 orm.xml 文件
现在您可以为您的特殊模式创建一个 EntityManagerFactory