注释数组作为 javassist 注释成员

Array of annotations as a javassist annotation member

我正在尝试使用 javassist 动态创建以下注释。我找不到将注释数组 ({@JoinColumn, @JoinColumn}) 添加为 javassist 注释成员的方法。有什么建议吗?

@ManyToOne
@JoinColumns({
        @JoinColumn,
        @JoinColumn
})
private Parent parent;

这里有一些构建简单注释的参考。

AnnotationAttribute
Dynamically Adding annotations
Annotations at runtime

我在这里回答我自己的问题。

/*
 * parentAnnotation, @JoinColumns object
 * memberName, "value"
 * memberValue, {@JoinColumn,...} object
 */ 
public void addMemberToAnnotation(Annotation parentAnnotation String memberName, Object memberValue){
    if(memberValue instanceof Annotation[]){
        ArrayList<AnnotationMemberValue> members = new ArrayList<AnnotationMemberValue>();
        AnnotationMemberValue annotationValue;
        for (Annotation a:(Annotation[])memberValue) {
            annotationValue =  new AnnotationMemberValue(cb.getCpool());
            annotationValue.setValue(a);
            members.add(annotationValue);
        }
        ArrayMemberValue arrayValue = new ArrayMemberValue(cb.getCpool());
        arrayValue.setValue(members.toArray(new MemberValue[0]));
        parentAnnotation.addMemberValue(memberName, arrayValue);
    } else if ( ... ){
        // Other cases
    }
}