BoundType - JAXB不知道如何处理的类型。 
        写入适配器以允许这种类型通过ValueType用作内存中的表示 。 
       ValueType - JAXB知道如何处理开箱即用的类型。 
       public abstract class XmlAdapter<ValueType,BoundType> extends Object
用法:
某些Java类型不会自然映射到XML表示,例如HashMap或其他非JavaBean类。 相反,XML表示可以映射到Java类型,但是应用程序可以选择使用另一种Java类型访问XML表示。 例如,Java绑定规则的模式将Xs:DateTime默认绑定到XmlGregorianCalendar。 但是,应用程序可能希望将xs:DateTime绑定到自定义类型,例如MyXmlGregorianCalendar。 在这两种情况下,应用程序访问XML内容的绑定类型与映射到XML表示形式的值类型之间存在不匹配。
这个抽象类定义了将绑定类型适配为值类型的方法,反之亦然。 在编组和解组时,这些方法由JAXB绑定框架调用:
XmlJavaTypeAdapter安装适配器 示例:HashMap定制映射
下面的例子说明了如何使用@XmlAdapter和@XmlJavaTypeAdapter定制HashMap的映射。
步骤1:确定HashMap所需的XML表示形式。
  <hashmap>
         <entry key="id123">this is a value</entry>
         <entry key="id312">this is another value</entry>
         ...
       </hashmap>  
       步骤2:确定上面显示的所需XML表示方式应遵循的模式定义。
  <xs:complexType name="myHashMapType">
       <xs:sequence>
         <xs:element name="entry" type="myHashMapEntryType"
                        minOccurs = "0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
     <xs:complexType name="myHashMapEntryType">
       <xs:simpleContent>
         <xs:extension base="xs:string">
           <xs:attribute name="key" type="xs:int"/>
         </xs:extension>
       </xs:simpleContent>
     </xs:complexType>  
       步骤3:编写可以生成上述模式定义的值类型。
  public class MyHashMapType {
         List<MyHashMapEntryType> entry;
     }
     public class MyHashMapEntryType {
         @XmlAttribute
         public Integer key;
         @XmlValue
         public String value;
     }  
       步骤4:将适配器的值类型MyHashMapType写入应用程序使用的绑定类型HashMap。
  public final class MyHashMapAdapter extends
                        XmlAdapter<MyHashMapType,HashMap> { ... }  
       步骤5:使用适配器。
  public class Foo {
         @XmlJavaTypeAdapter(MyHashMapAdapter.class)
         HashMap hashmap;
         ...
     }  
       上述代码片段将映射到以下模式: 
         <xs:complexType name="Foo">
       <xs:sequence>
         <xs:element name="hashmap" type="myHashMapType"
       </xs:sequence>
     </xs:complexType>  
      XmlJavaTypeAdapter 
        Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.