ByteBuddy-在注释的值中传递数组时出错

时间:2019-12-02 15:52:07

标签: bytecode byte-buddy

考虑一个构建新类实例并在下面添加注释的示例。

.annotateMethod(   AnnotationDescription.Builder.ofType(OneToMany.class)     .define(“ cascade”,新的CascadeType [] {CascadeType.PERSIST,CascadeType.MERGE} )     .define(“ fetch”,FetchType.LAZY)     .define(“ targetEntity”,EntityB.class)     .build())

除分配“级联”值外,其他所有操作均正常。由于 .define 方法不期望枚举数组,因此出现编译时错误。

如何将数组作为Annotaion的值分配传递?

例如,我想分配一个枚举数组,如下所示:

@ManyToMany(cascade = {CascadeType.PERSIST,CascadeType.MERGE}

1 个答案:

答案 0 :(得分:0)

霍尔格指出,请使用defineEnumerationArray as documented in the javadoc

与定义具有单个值的枚举数组相比,重载被限制为避免与定义单个枚举值属性冲突。