• JAXB "有两个名为 "**" 的属性,类的两个属性具有相同名称 "**""解决方案


       

    这里说的名称冲突指的是: JavaBean 属性名称与字段名称之间的名称冲突。
    在pojo类中的setter和getter方法会导致运行报错:
    Exception in thread "main" com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:
    2 counts of IllegalAnnotationExceptions
    这时我们就要用到另一个注释:@XmlTransient,用来防止映射使用@XmlTransient注释的字段或者javabean的属性,从而解决名称冲突。
    具体的用法是将@XmlElement和@XmlTransient分别加到javabean属性前和对应的getter方法前:

    package entity;
     import java.io.Serializable;
     
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlTransient;
     
    @XmlRootElement //表示student是一个跟元素
    public class Student implements Serializable {
        @XmlElement //name作为student的一个子元素
        private String name;
        @XmlElement //gender作为student的一个子元素
        private String gender;
     
        public Student() {
     
        }
     
        public Student(String name, String gender) {
            this.name = name;
            this.gender = gender;
        }
     
        @XmlTransient
        public String getName() {
            return name;
        }
     
        @XmlTransient
        public String getGender() {
            return gender;
        }
     
        public void setName(String name) {
            this.name = name;
        }
     
        public void setGender(String gender) {
            this.gender = gender;
        }
     
    }
    原文:https://blog.csdn.net/huanghanqian/article/details/51549066 

  • 相关阅读:
    将博客搬至CSDN
    HDU1175 + HDU1728+BFS转弯
    HDU1401 BFS
    HDU1401 双广BFS
    分布式一致性
    GFS架构分析
    云计算资源分享与下载
    mysql导入导出数据方法
    缓存设计的一些思考
    HBase性能优化方法总结
  • 原文地址:https://www.cnblogs.com/zhncnblogs/p/12034073.html
Copyright © 2020-2023  润新知