似乎 java 代码生成器框架CodeModel无法创建仅包含没有名称的枚举值的注释- 不幸的是,这是一种非常常见的模式(例如,JPA 使用的模式):
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
API 文档仅说明 “ TODO How to add enums to the annotations”
问题:
有没有办法解决这个限制?
似乎 java 代码生成器框架CodeModel无法创建仅包含没有名称的枚举值的注释- 不幸的是,这是一种非常常见的模式(例如,JPA 使用的模式):
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
API 文档仅说明 “ TODO How to add enums to the annotations”
问题:
有没有办法解决这个限制?
我会说这个评论已经过时了。有一种方法param(String name, Enum<?> value)
可以JAnnotationUse
正常工作。
编辑:代码如下所示:
field.annotate(Temporal.class).param("value", TemporalType.TIMESTAMP)
请注意
@Temporal(TemporalType.TIMESTAMP)
只是写作的缩写
@Temporal(value=TemporalType.TIMESTAMP)
当注解只包含一个参数时,可以使用这种简短形式。
“无名”注解参数实际上只是一个名为“值”的默认参数的简写,所以它们是等价的:
@Temporal(TemporalType.TIMESTAMP)
@Temporal(value=TemporalType.TIMESTAMP)