我将 Spring+Hibernate+Tomcat+Oracle 应用程序改编为分布式形式,并且需要在 JPA 注释中自定义模式名称,类似于 Spring EL:
@Entity
@Table(name = "LOSS", schema="${app.dataSchema}")
public class Loss { ... }
我在注释中寻找占位符的支持,例如${app.dataSchema}
在上面的例子中。或者还有什么其他的可能...
想法 - 拥有可以部署在另一个站点上而无需重新编译的应用程序,其中保留了数据库关系/层次结构,但某些名称发生了更改,并且可以通过系统属性、JNDI 或部署上下文描述符进行配置。
我看到的一种解决方案是create view
在选定的模式中 - 在实际模式/表/列和应用程序硬编码名称之间提供桥梁。
但我希望 JPA/Hibernate/Spring 有一些用于此类配置的工具......
Use orm.xml
。这就是 JPA 提供它的目的。如果您需要更改部署,则将部署信息放入注释中并不是一个好主意,因此只需使用不同的orm.xml
文件意味着您可以轻松实现这一点。请注意,您可以在持久性单元默认值部分orm.xml
too
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)