gpt4 book ai didi

org.eclipse.persistence.oxm.mappings.XMLInverseReferenceMapping类的使用及代码示例

转载 作者:知者 更新时间:2024-03-20 00:21:40 26 4
gpt4 key购买 nike

本文整理了Java中org.eclipse.persistence.oxm.mappings.XMLInverseReferenceMapping类的一些代码示例,展示了XMLInverseReferenceMapping类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLInverseReferenceMapping类的具体详情如下:
包路径:org.eclipse.persistence.oxm.mappings.XMLInverseReferenceMapping
类名称:XMLInverseReferenceMapping

XMLInverseReferenceMapping介绍

[英]This mapping is used to map a back-pointer. It represents the "opposite" of one of the following relationship mappings:

  • XMLCompositeObjectMapping
  • XMLCompositeCollectionMapping
  • XMLObjectReferenceMapping
  • XMLCollectionReferenceMapping
    When configuring an XMLInverseReferenceMapping, the "mappedBy" field must be set to the field on the reference class that maps to this Descriptor. For example:

`// EMPLOYEE has a collection of PHONEs (phoneNumbers)
// PHONE has a back-pointer to EMPLOYEE (owningEmployee)

// EMPLOYEE Descriptor
XMLCompositeCollectionMapping phone = new XMLCompositeCollectionMapping();
phone.setReferenceClassName("org.example.PhoneNumber");
phone.setAttributeName("phoneNumbers");
...

// PHONE Descriptor
XMLInverseReferenceMapping owningEmployee = new XMLInverseReferenceMapping();
owningEmployee.setReferenceClassName("org.example.Employee");
owningEmployee.setMappedBy("phoneNumbers");
owningEmployee.setAttributeName("owningEmployee");
...
[中]此映射用于映射回指针。它表示以下关系映射之一的“反面”: *XmlCompositeObject映射 *XMLCompositeCollectionMapping *XMLObjectReferenceMapping *XMLCollectionReferenceMapping 配置XMLInverseReferenceMapping时,“mappedBy”字段必须设置为映射到此描述符的引用类上的字段。例如:// EMPLOYEE has a collection of PHONEs (phoneNumbers)
// PHONE has a back-pointer to EMPLOYEE (owningEmployee)

// EMPLOYEE Descriptor
XMLCompositeCollectionMapping phone = new XMLCompositeCollectionMapping();
phone.setReferenceClassName("org.example.PhoneNumber");
phone.setAttributeName("phoneNumbers");
...

// PHONE Descriptor
XMLInverseReferenceMapping owningEmployee = new XMLInverseReferenceMapping();
owningEmployee.setReferenceClassName("org.example.Employee");
owningEmployee.setMappedBy("phoneNumbers");
owningEmployee.setAttributeName("owningEmployee");
...
`

代码示例

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * Gets the AttributeAccessor that is used to get and set the value of the
 * container on the target object.
 * @deprecated Replaced by getInverseReferenceMapping().getAttributeAccessor()
 */
@Deprecated
public AttributeAccessor getContainerAccessor() {
  if (this.inverseReferenceMapping == null) {
    return null;
  }
  return this.inverseReferenceMapping.getAttributeAccessor();
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

/**
 * Gets the name of the backpointer attribute on the target object. Used to
 * populate the backpointer.
 * @deprecated Replaced by getInverseReferenceMapping().getAttributeName()
 */
@Deprecated
public String getContainerAttributeName() {
  if (this.inverseReferenceMapping == null) {
    return null;
  }
  return this.inverseReferenceMapping.getAttributeName();
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * Gets the name of the method to be used when accessing the value of the
 * back pointer on the target object of this mapping.
 * @deprecated Replaced by getInverseReferenceMapping().getGetMethodName()
 */
@Deprecated
public String getContainerGetMethodName() {
  if (this.inverseReferenceMapping == null) {
    return null;
  }
  return this.inverseReferenceMapping.getGetMethodName();
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.dbws

/**
 * Build an XMLInverseMapping based on a particular mapping and replace that mapping with
 * the newly created XMLInverseMapping in jaxbDescriptor
 * @param jaxbDescriptor
 * @param mapping
 * @param mappedBy
 */
private static void convertMappingToXMLInverseReferenceMapping(ClassDescriptor jaxbDescriptor, DatabaseMapping mapping, ForeignReferenceMapping jpaMapping) {
  if ((mapping != null) && (jaxbDescriptor != null)) {
    if (!(mapping.isXMLMapping())) {
      return;
    }
    if ((jpaMapping.isAggregateCollectionMapping()) || (jpaMapping.isAggregateMapping())) {
      return;
    }
    XMLInverseReferenceMapping jaxbInverseMapping = new XMLInverseReferenceMapping();
    copyAccessorToMapping(mapping, jaxbInverseMapping);
    jaxbInverseMapping.setProperties(mapping.getProperties());
    jaxbInverseMapping.setIsReadOnly(mapping.isReadOnly());
    jaxbInverseMapping.setMappedBy(jpaMapping.getAttributeName());
    if (mapping.isAbstractCompositeCollectionMapping()) {
      jaxbInverseMapping.setContainerPolicy(mapping.getContainerPolicy());
      jaxbInverseMapping.setReferenceClass(((XMLCompositeCollectionMapping) mapping).getReferenceClass());
    } else if (mapping.isAbstractCompositeObjectMapping()) {
      jaxbInverseMapping.setReferenceClass(((XMLCompositeObjectMapping) mapping).getReferenceClass());
    }
    jaxbDescriptor.removeMappingForAttributeName(mapping.getAttributeName());
    jaxbDescriptor.addMapping(jaxbInverseMapping);
  }
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

Class containerClass = null;
  if(oxmMapping instanceof XMLCompositeObjectMapping) {
    containerAccessor = ((XMLCompositeObjectMapping)oxmMapping).getInverseReferenceMapping().getAttributeAccessor();
    containerClass = ((XMLCompositeObjectMapping)oxmMapping).getReferenceClass();
  } else if(oxmMapping instanceof XMLCompositeCollectionMapping) {
    containerAccessor = ((XMLCompositeCollectionMapping)oxmMapping).getInverseReferenceMapping().getAttributeAccessor();
    containerClass = ((XMLCompositeCollectionMapping)oxmMapping).getReferenceClass();
        ormAccessor.setValueHolderProperty(ormContainerMapping instanceof OneToOneMapping && ((OneToOneMapping)ormContainerMapping).usesIndirection());
        if(oxmMapping instanceof XMLCompositeObjectMapping) {
          ((XMLCompositeObjectMapping)oxmMapping).getInverseReferenceMapping().setAttributeAccessor(ormAccessor);
        } else if(oxmMapping instanceof XMLCompositeCollectionMapping) {
          ((XMLCompositeCollectionMapping)oxmMapping).getInverseReferenceMapping().setAttributeAccessor(ormAccessor);
if(nextMapping instanceof XMLObjectReferenceMapping) {
  XMLObjectReferenceMapping refMapping = (XMLObjectReferenceMapping)nextMapping;
  if(refMapping.getInverseReferenceMapping().getAttributeAccessor() != null && refMapping.getInverseReferenceMapping().getContainerPolicy() != null) {
    ClassDescriptor refDescriptor = ormSession.getClassDescriptor(refMapping.getReferenceClass());
    if(refDescriptor != null) {
      DatabaseMapping backpointerMapping =refDescriptor.getMappingForAttributeName(refMapping.getInverseReferenceMapping().getAttributeName());
      if(backpointerMapping != null && backpointerMapping.isCollectionMapping()) {
        refMapping.getInverseReferenceMapping().getContainerPolicy().setContainerClass(((CollectionMapping)backpointerMapping).getContainerPolicy().getContainerClass());

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

while(cPolicy.hasNext(iterator)) {
  Object next = cPolicy.next(iterator, session);
  if(mapping.getInverseReferenceMapping().getContainerPolicy() == null) {
    mapping.getInverseReferenceMapping().getAttributeAccessor().setAttributeValueInObject(next, currentObject);
  } else {
    Object backpointerContainer = mapping.getInverseReferenceMapping().getAttributeAccessor().getAttributeValueFromObject(next);
    if(backpointerContainer == null) {
      backpointerContainer = mapping.getInverseReferenceMapping().getContainerPolicy().containerInstance();
      mapping.getInverseReferenceMapping().getAttributeAccessor().setAttributeValueInObject(next, backpointerContainer);
    mapping.getInverseReferenceMapping().getContainerPolicy().addInto(currentObject, backpointerContainer, session);
AttributeAccessor backpointerAccessor = mapping.getInverseReferenceMapping().getAttributeAccessor();                    
if(mapping.getInverseReferenceMapping().getContainerPolicy() == null) {
  backpointerAccessor.setAttributeValueInObject(value, reference.getSourceObject());
} else {
  Object backpointerContainer = backpointerAccessor.getAttributeValueFromObject(value);
  if(backpointerContainer == null) {
    backpointerContainer = mapping.getInverseReferenceMapping().getContainerPolicy().containerInstance();
    backpointerAccessor.setAttributeValueInObject(value, backpointerContainer);
  mapping.getInverseReferenceMapping().getContainerPolicy().addInto(reference.getSourceObject(), backpointerContainer, session);

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

DatabaseMapping mapping = getReferenceDescriptor().getMappingForAttributeName(this.mappedBy);
  mapping  = ((XMLInverseReferenceMapping)mapping).getInlineMapping();
    if(next instanceof XMLCompositeObjectMapping) {
      XMLCompositeObjectMapping compositeMapping = ((XMLCompositeObjectMapping)next);
      if(compositeMapping.getReferenceClass() == this.getDescriptor().getJavaClass() || this.getDescriptor().getJavaClass().isAssignableFrom(compositeMapping.getReferenceClass())) {
        compositeMapping.setInverseReferenceMapping(this);
      if(refMapping.getReferenceClass() == this.getDescriptor().getJavaClass()) {
        refMapping.setInverseReferenceMapping(this);
    if(next instanceof XMLCompositeCollectionMapping) {
      XMLCompositeCollectionMapping compositeMapping = ((XMLCompositeCollectionMapping)next);
      if(compositeMapping.getReferenceClass() == this.getDescriptor().getJavaClass() || this.getDescriptor().getJavaClass().isAssignableFrom(compositeMapping.getReferenceClass())) {
        compositeMapping.setInverseReferenceMapping(this);
      if(refMapping.getReferenceClass() == this.getDescriptor().getJavaClass()) {
        refMapping.setInverseReferenceMapping(this);

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

/**
 * Gets the name of the method to be used when setting the value of the
 * back pointer on the target object of this mapping.
 * @deprecated Replaced by getInverseReferenceMapping().getSetMethodName()
 */
@Deprecated
public String getContainerSetMethodName() {
  if (this.inverseReferenceMapping == null) {
    return null;
  }
  return this.inverseReferenceMapping.getSetMethodName();
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * Sets the AttributeAccessor that is used to get and set the value of the 
 * container on the target object.
 * 
 * @param anAttributeAccessor - the accessor to be used.
 * @deprecated Replaced by getInverseReferenceMapping().setAttributeAccessor()
 */
@Deprecated
public void setContainerAccessor(AttributeAccessor anAttributeAccessor) {
  if (this.inverseReferenceMapping == null) {
    return;
  }
  this.inverseReferenceMapping.setAttributeAccessor(anAttributeAccessor);
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * Sets the name of the backpointer attribute on the target object. Used to 
 * populate the backpointer. If the specified attribute doesn't exist on 
 * the reference class of this mapping, a DescriptorException will be thrown
 * during initialize.
 * 
 * @param attributeName - the name of the backpointer attribute to be populated
 * @deprecated Replaced by getInverseReferenceMapping().setAttributeName()
 */
@Deprecated
public void setContainerAttributeName(String attributeName) {
  if (this.inverseReferenceMapping == null) {
    return;
  }       
  this.inverseReferenceMapping.setAttributeName(attributeName);
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

setAttributeValueInObject(targetObject, attributeValue);
if(null != getContainerAccessor()) {
  if(this.inverseReferenceMapping.getContainerPolicy() == null) {
    getContainerAccessor().setAttributeValueInObject(attributeValue, targetObject);
  } else {
    Object backpointerContainer = getContainerAccessor().getAttributeValueFromObject(attributeValue);
    if(backpointerContainer == null) {
      backpointerContainer = this.inverseReferenceMapping.getContainerPolicy().containerInstance();
      getContainerAccessor().setAttributeValueInObject(attributeValue, backpointerContainer);
    this.inverseReferenceMapping.getContainerPolicy().addInto(targetObject, backpointerContainer, executionSession);

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

@Override
public void initialize(AbstractSession session) throws DescriptorException {
  super.initialize(session);
  setFields(new Vector<DatabaseField> ());
}

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

private InverseReferenceMapping generateInverseReferenceMapping(Property property, Descriptor descriptor, NamespaceInfo namespace) {
  InverseReferenceMapping invMapping = new XMLInverseReferenceMapping();
  boolean isCollection = helper.isCollectionType(property.getType());

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

@Override
public void postInitialize(AbstractSession session) throws DescriptorException {
  // Get the corresponding mapping from the reference descriptor and set up the 
  // inverse mapping.
  DatabaseMapping mapping = getReferenceDescriptor().getMappingForAttributeName(this.mappedBy);
  
  if (mapping instanceof XMLCompositeCollectionMapping) {
    XMLCompositeCollectionMapping oppositeMapping = (XMLCompositeCollectionMapping) mapping;
    oppositeMapping.setInverseReferenceMapping(this);
  }
  
  if (mapping instanceof XMLCompositeObjectMapping) {
    XMLCompositeObjectMapping oppositeMapping = (XMLCompositeObjectMapping) mapping;
    oppositeMapping.setInverseReferenceMapping(this);
  }
  if (mapping instanceof XMLObjectReferenceMapping) {
    XMLObjectReferenceMapping oppositeMapping = (XMLObjectReferenceMapping) mapping;
    oppositeMapping.setInverseReferenceMapping(this);
  }
  
}

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

/**
 * Build an XMLInverseMapping based on a particular mapping and replace that mapping with
 * the newly created XMLInverseMapping in jaxbDescriptor
 * @param jaxbDescriptor
 * @param mapping
 * @param mappedBy
 */
private static void convertMappingToXMLInverseReferenceMapping(ClassDescriptor jaxbDescriptor, DatabaseMapping mapping, ForeignReferenceMapping jpaMapping) {
  if ((mapping != null) && (jaxbDescriptor != null)) {
    if (!(mapping.isXMLMapping())) {
      return;
    }
    if ((jpaMapping.isAggregateCollectionMapping()) || (jpaMapping.isAggregateMapping())) {
      return;
    }
    XMLInverseReferenceMapping jaxbInverseMapping = new XMLInverseReferenceMapping();
    copyAccessorToMapping(mapping, jaxbInverseMapping);
    jaxbInverseMapping.setProperties(mapping.getProperties());
    jaxbInverseMapping.setIsReadOnly(mapping.isReadOnly());
    jaxbInverseMapping.setMappedBy(jpaMapping.getAttributeName());
    if (mapping.isAbstractCompositeCollectionMapping()) {
      jaxbInverseMapping.setContainerPolicy(mapping.getContainerPolicy());
      jaxbInverseMapping.setReferenceClass(((XMLCompositeCollectionMapping) mapping).getReferenceClass());
    } else if (mapping.isAbstractCompositeObjectMapping()) {
      jaxbInverseMapping.setReferenceClass(((XMLCompositeObjectMapping) mapping).getReferenceClass());
    }
    jaxbDescriptor.removeMappingForAttributeName(mapping.getAttributeName());
    jaxbDescriptor.addMapping(jaxbInverseMapping);
  }
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

if(xmlCompositeCollectionMapping.getInverseReferenceMapping().getContainerPolicy() == null) {
  xmlCompositeCollectionMapping.getInverseReferenceMapping().getAttributeAccessor().setAttributeValueInObject(objectValue, unmarshalRecord.getCurrentObject());
} else {
  Object backpointerContainer = xmlCompositeCollectionMapping.getInverseReferenceMapping().getAttributeAccessor().getAttributeValueFromObject(objectValue);
  if(backpointerContainer == null) {
    backpointerContainer = xmlCompositeCollectionMapping.getInverseReferenceMapping().getContainerPolicy().containerInstance();
    xmlCompositeCollectionMapping.getInverseReferenceMapping().getAttributeAccessor().setAttributeValueInObject(objectValue, backpointerContainer);
  xmlCompositeCollectionMapping.getInverseReferenceMapping().getContainerPolicy().addInto(unmarshalRecord.getCurrentObject(), backpointerContainer, unmarshalRecord.getSession());

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

DatabaseMapping mapping = getReferenceDescriptor().getMappingForAttributeName(this.mappedBy);
  mapping  = ((XMLInverseReferenceMapping)mapping).getInlineMapping();
    if(next instanceof XMLCompositeObjectMapping) {
      XMLCompositeObjectMapping compositeMapping = ((XMLCompositeObjectMapping)next);
      if(compositeMapping.getReferenceClass() == this.getDescriptor().getJavaClass() || this.getDescriptor().getJavaClass().isAssignableFrom(compositeMapping.getReferenceClass())) {
        compositeMapping.setInverseReferenceMapping(this);
      if(refMapping.getReferenceClass() == this.getDescriptor().getJavaClass()) {
        refMapping.setInverseReferenceMapping(this);
    if(next instanceof XMLCompositeCollectionMapping) {
      XMLCompositeCollectionMapping compositeMapping = ((XMLCompositeCollectionMapping)next);
      if(compositeMapping.getReferenceClass() == this.getDescriptor().getJavaClass() || this.getDescriptor().getJavaClass().isAssignableFrom(compositeMapping.getReferenceClass())) {
        compositeMapping.setInverseReferenceMapping(this);
      if(refMapping.getReferenceClass() == this.getDescriptor().getJavaClass()) {
        refMapping.setInverseReferenceMapping(this);

代码示例来源:origin: com.haulmont.thirdparty/eclipselink

/**
 * Gets the name of the method to be used when setting the value of the
 * back pointer on the target object of this mapping.
 * @deprecated Replaced by getInverseReferenceMapping().getSetMethodName()
 */
@Deprecated
public String getContainerSetMethodName() {
  if (this.inverseReferenceMapping == null) {
    return null;
  }
  return this.inverseReferenceMapping.getSetMethodName();
}

代码示例来源:origin: org.eclipse.persistence/org.eclipse.persistence.core

/**
 * Sets the AttributeAccessor that is used to get and set the value of the
 * container on the target object.
 *
 * @param anAttributeAccessor - the accessor to be used.
 * @deprecated Replaced by getInverseReferenceMapping().setAttributeAccessor()
 */
@Deprecated
public void setContainerAccessor(AttributeAccessor anAttributeAccessor) {
  if (this.inverseReferenceMapping == null) {
    return;
  }
  this.inverseReferenceMapping.setAttributeAccessor(anAttributeAccessor);
}

代码示例来源:origin: org.eclipse.persistence/com.springsource.org.eclipse.persistence

/**
 * Sets the name of the backpointer attribute on the target object. Used to
 * populate the backpointer. If the specified attribute doesn't exist on the
 * reference class of this mapping, a DescriptorException will be thrown
 * during initialize.
 *
 * @param attributeName - the name of the backpointer attribute to be populated
 * @deprecated Replaced by getInverseReferenceMapping().setAttributeName()
 */
@Deprecated
public void setContainerAttributeName(String attributeName) {
  if (this.inverseReferenceMapping == null) {
    return;
  }        
  this.inverseReferenceMapping.setAttributeName(attributeName);
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com