public void testUpdateJoinFetch() throws Exception {
    createTestTypeWithOneToOneAttribute();

    OrmPersistentType ormPersistentType =
        getEntityMappings()
            .addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
    OrmSpecifiedPersistentAttribute ormPersistentAttribute =
        ormPersistentType.addAttributeToXml(
            ormPersistentType.getAttributeNamed("oneToOne"),
            MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY);
    EclipseLinkOneToOneMapping contextOneToOne =
        (EclipseLinkOneToOneMapping) ormPersistentAttribute.getMapping();
    XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0);
    XmlOneToOne resourceOneToOne =
        (XmlOneToOne) resourceEntity.getAttributes().getOneToOnes().get(0);

    // check defaults

    assertNull(resourceOneToOne.getJoinFetch());
    assertNull(contextOneToOne.getJoinFetch().getValue());

    // set xml join fetch to INNER, check context

    resourceOneToOne.setJoinFetch(XmlJoinFetchType.INNER);

    assertEquals(XmlJoinFetchType.INNER, resourceOneToOne.getJoinFetch());
    assertEquals(EclipseLinkJoinFetchType.INNER, contextOneToOne.getJoinFetch().getValue());

    // set xml join fetch to OUTER, check context

    resourceOneToOne.setJoinFetch(XmlJoinFetchType.OUTER);

    assertEquals(XmlJoinFetchType.OUTER, resourceOneToOne.getJoinFetch());
    assertEquals(EclipseLinkJoinFetchType.OUTER, contextOneToOne.getJoinFetch().getValue());

    // set xml join fetch to null, check context

    resourceOneToOne.setJoinFetch(null);

    assertNull(resourceOneToOne.getJoinFetch());
    assertNull(contextOneToOne.getJoinFetch().getValue());
  }