gpt4 book ai didi

java - JPA 在注释中使用变量架构名称

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:03:22 25 4
gpt4 key购买 nike

我正在使用 Java Persistence API 来描述我将在我的代码中操作的数据库中的表。

但是,根据项目的安装位置,使用的schema 并不相同。所以,当我使用注释时,我希望 SCHEMA 字段是一个变量,但我做不到:

@Entity
@Table(name = "TABLE_NAME", schema = schemaVariable, catalog = "")

我怎样才能做到这一点?persistence.xml 文件是否可行?

最佳答案

不,这是不可能的。您只能在注释中使用编译时常量(它们都是原语和 String)。

您可以使用最终变量:

public class DatabaseMetadata {
public static final SCHEMA = "MySchema";
}

然后在注释中使用它:

@Table(name = "TABLE_NAME", schema = DatabaseMetadata.SCHEMA, catalog = "")

但我认为这不是您想要的。

附言。另一方面,可以找到在注释中使用即 Spring EL 的示例(参见 @Value 注释),但这需要自定义注释处理器。据我所知,JPA 提供商都没有提供这种能力。

关于java - JPA 在注释中使用变量架构名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642157/

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