java - 基于环境的条件注释

标签 java annotations

是否可以有条件地应用 Java 注释?例如,假设我有一个带注释序列的 hibernate 映射:

@Id
@Column(name = "TABLE_ID")
@GeneratedValue(strategy = SEQUENCE, generator = "generator")
@SequenceGenerator(name = "generator", sequenceName = "TABLE_SEQ")
public Long getId() {
    return this.Id;
}

是否可以执行类似下面的操作,其中基于环境变量等删除注释?

@Id
@Column(name = "TABLE_ID")
if(env.equals('dev')){
  @GeneratedValue(strategy = SEQUENCE, generator = "generator")
  @SequenceGenerator(name = "generator", sequenceName = "TABLE_SEQ")}
public Long getId() {
    return this.Id;
}

注意:我知道在这种情况下可以针对不同的环境使用 *.hbm.xml 文件,但是我想使用注释,因为需要维护的文件较少。

最佳答案

简短的回答,不,不是。中等答案,您可以使用注释处理器来完成这项工作,但您必须维护一个注释处理器..

关于java - 基于环境的条件注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16743104/

相关文章:

java - Android 抽屉式导航失败

java - Log4j Eclipse 类未找到

java - 一个注释怎么可能是它自己的注释呢?

xml - 条件依赖注入(inject)

java - 注释的 Scala 类型别名

Java min max 0 终止

java - 在 "x"家庭中生 child

java - 拆分java虚线字符串

java - Java注解顺序是否持久?

java - @autowired @qualifier 指向 jar 文件应用程序中的服务