JAX-RS Jersey:@XmlElementWrapper返回

den*_*ini 1 jax-rs jersey java-ee

我正在尝试根据泽西/ Jaxb对豆类列表的别名接受的答案,在Artcile的评论列表周围添加一个包装类

public class Article implements Serializable
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    ...
    @ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "ARTICLE_COMMENT",
    joinColumns =
    {
        @JoinColumn(name = "ARTICLE_ID", referencedColumnName = "ID")
    },
    inverseJoinColumns =
    {
        @JoinColumn(name = "COMMENT_ID", referencedColumnName = "ID")
    })
    @XmlElementWrapper(name = "user_comments")
    private List<Comment> comments;

    public Article()
    {
    }
 ...
 }
Run Code Online (Sandbox Code Playgroud)

评论是

@XmlRootElement
@Entity
public class Comment implements Serializable
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name;

    /*
    @ManyToMany(cascade={CascadeType.ALL},fetch=FetchType.EAGER)
    private Collection<Article> articles;
    */
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是它会返回此错误

Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
Klasse enthält zwei Eigenschaften mit demselben Namen "comments"
Run Code Online (Sandbox Code Playgroud)

将集合更改为评论列表并没有太大变化.任何人都知道我能做什么?

icy*_*sor 8

只是一个疯狂的猜测 - 尝试注释getter而不是属性.