Establecer fetchSize para relación propia en JDO

¿Hay alguna manera de controlar el tamaño de búsqueda utilizado para la relación de propiedad?

Ejemplo:

@PersistenceCapable
public class Employee {

  /** The contact info sets. */
  @Persistent(defaultFetchGroup = "true")
  @Element(dependent = "true")
  private Collection<ContactInfo> contactInfoSets;

  /** The key. */
  @PrimaryKey
  @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  private Key key;

  public Collection<ContactInfo> getContactInfo() {
    return contactInfoSets;
  }

}

@PersistenceCapable
public class ContactInfo {

  /** The key. */
  @PrimaryKey
  @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  private Key key;

}

En el ejemplo anterior, si lo hago:

Employee e = pm.getObjectById(Employee.class, "1");
e.getContactInfoSets();

Obtendrá todos los contactos propios en un grupo de 20. ¿Cómo decirle a jdo que obtenga todos los contactos en una sola consulta?

PD: Traté de configurar pm.getFetchPlan().setFetchSize(FetchPlan.FETCH_SIZE_GREEDY); sin éxito.

preguntado el 27 de julio de 12 a las 14:07

1 Respuestas

FetchPlan.setFetchSize obviamente es para uso de consultas y nada más (según la especificación). El uso de la v2 del complemento GAE JDO debería cargar todos los objetos de relación sin ninguna llamada adicional a la base de datos (ya que las identificaciones de los objetos relacionados se almacenan en el objeto propietario). El registro le indica qué llamadas al almacén de datos se realizan

Respondido 28 Jul 12, 06:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.