似乎java代码生成器框架 CodeModel 无法创建仅包含枚举值而没有名称的注释 - 遗憾的是这是一种非常常见的模式(JPA例如使用):
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
API documentation only states “TODO如何将枚举添加到注释”
问题:
有没有办法解决这个限制?
答案 0 :(得分:1)
我说评论已经过时了。 param(String name, Enum<?> value)
上的方法JAnnotationUse
可以正常使用。
修改:代码如下所示:
field.annotate(Temporal.class).param("value", TemporalType.TIMESTAMP)
请注意
@Temporal(TemporalType.TIMESTAMP)
只是写作的简称
@Temporal(value=TemporalType.TIMESTAMP)
当注释仅包含单个参数时,可以使用此简短形式。
答案 1 :(得分:1)
注释参数“没有名称”实际上只是名为“value”的默认参数的简写,所以它们是等价的:
@Temporal(TemporalType.TIMESTAMP)
@Temporal(value=TemporalType.TIMESTAMP)