【发布时间】:2015-08-26 12:53:00
【问题描述】:
当我使用 IntelliJ 从现有数据库模式生成持久性映射时,它会将 catalog 值作为 @Table 注释的一部分。不幸的是,数据库实例的名称中包含 dev/test/prod 环境的名称,虽然我可以用传递给EntityManagerFactory 的映射覆盖连接字符串,但在对BAR_TEST 实例执行查询时,我仍然得到Invalid object name 'BAR_DEV.dbo.FOO'。
我是否可以在运行时动态覆盖catalog 值而不进行全局搜索和替换以在实体生成后手动删除它?
@Entity
@Table(name = "FOO", schema = "dbo", catalog = "BAR_DEV")
public class Foo{ /* ... */ }
【问题讨论】:
-
或者使用orm.xml,一个值是dev,一个是test,一个是prod。
标签: java jpa intellij-idea eclipselink