1

似乎 java 代码生成器框架CodeModel无法创建仅包含没有名称的枚举值的注释- 不幸的是,这是一种非常常见的模式(例如,JPA 使用的模式):

  @Temporal(TemporalType.TIMESTAMP)
  private Date createDate;

API 文档仅说明TODO How to add enums to the annotations”

问题:
有没有办法解决这个限制?

4

2 回答 2

1

我会说这个评论已经过时了。有一种方法param(String name, Enum<?> value)可以JAnnotationUse正常工作。

编辑:代码如下所示:

field.annotate(Temporal.class).param("value", TemporalType.TIMESTAMP)

请注意

@Temporal(TemporalType.TIMESTAMP)

只是写作的缩写

@Temporal(value=TemporalType.TIMESTAMP)

当注解只包含一个参数时,可以使用这种简短形式。

于 2011-11-28T11:02:55.597 回答
1

“无名”注解参数实际上只是一个名为“值”的默认参数的简写,所以它们是等价的:

@Temporal(TemporalType.TIMESTAMP)

@Temporal(value=TemporalType.TIMESTAMP)
于 2011-11-28T11:10:43.960 回答