gpt4 book ai didi

spring - JPA,外部化列、表或模式名称?

转载 作者:行者123 更新时间:2023-11-28 21:47:08 25 4
gpt4 key购买 nike

我将 Spring+Hibernate+Tomcat+Oracle 应用程序调整为分布式形式,需要在 JPA 注释中自定义模式名称,类似于 Spring EL:

@Entity
@Table(name = "LOSS", schema="${app.dataSchema}")
public class Loss { ... }

我在上面的示例中寻找像 ${app.dataSchema} 这样的注释中的占位符支持。或者任何其他可能性...

想法 - 拥有无需重新编译即可部署到另一个站点的应用程序,其中保留了数据库关系/层次结构,但更改了一些名称并且可以通过系统属性、JNDI 或部署上下文描述符进行配置。

我看到的一个解决方案是在选定的模式中创建 View - 在实际模式/表/列和应用程序硬编码名称之间提供桥梁。

但我希望 JPA/Hibernate/Spring 有一些用于此类配置的工具...

最佳答案

使用orm.xml。这就是 JPA 提供它的目的。如果您需要更改部署,将部署信息放在注释中不是一个好主意,因此只需使用不同的 orm.xml 文件就可以轻松实现。请注意,您也可以在 orm.xmlpersistence-unit-defaults 部分设置默认架构

关于spring - JPA,外部化列、表或模式名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25978242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com