@Override public Query createQueryForLazyField(BusinessObject businessObject, RelationField relationField) { if (relationField.isCollection()) { return super.createQueryForLazyField(businessObject, relationField); } return null; }
@Override public Query createQueryForLazyField(BusinessObject businessObject, RelationField relationField) { if (relationField.isCollection()) { return super.createQueryForLazyField(businessObject, relationField); } return null; }
@Override public Query createQueryForLazyField(BusinessObject businessObject, RelationField relationField) { checkObjectIsNotNull(relationField, "relationField cannot be null"); final String name = createQueryNameForLazyField(businessObject, relationField); final String content = createQueryContentForLazyField(businessObject.getQualifiedName(), relationField); final Query q = new Query(name, content, relationField.getReference().getQualifiedName()); if (relationField.isCollection()) { q.setReturnType(List.class.getName()); } q.addQueryParameter(Field.PERSISTENCE_ID, Long.class.getName()); return q; }
@Override public Query createQueryForLazyField(BusinessObject businessObject, RelationField relationField) { checkObjectIsNotNull(relationField, "relationField cannot be null"); final String name = createQueryNameForLazyField(businessObject, relationField); final String content = createQueryContentForLazyField(businessObject.getQualifiedName(), relationField); final Query q = new Query(name, content, relationField.getReference().getQualifiedName()); if (relationField.isCollection()) { q.setReturnType(List.class.getName()); } q.addQueryParameter(Field.PERSISTENCE_ID, Long.class.getName()); return q; }
@Override protected ValidationStatus validate(BusinessObjectModel bom) { ValidationStatus validationStatus = new ValidationStatus(); for (BusinessObject bo : bom.getBusinessObjects()) { List<Field> boFields = bo.getFields(); for (Field boField : boFields) { if (boField instanceof RelationField) { RelationField relationField = (RelationField) boField; String fieldReferenceQualifiedName = relationField.getReference().getQualifiedName(); String boQualifiedName = bo.getQualifiedName(); if (relationField.getType() == AGGREGATION && fieldReferenceQualifiedName.equals(boQualifiedName) && relationField.isCollection()) { validationStatus.addError(MULTIPLE_AGGREGATION_RELATION_TO_ITSELF, "The object " + boQualifiedName + " is referencing itself in a multiple aggregation relation.", Collections.singletonMap(StatusContext.BUSINESS_OBJECT_NAME_KEY, boQualifiedName)); } } } } return validationStatus; } }
@Override protected ValidationStatus validate(BusinessObjectModel bom) { ValidationStatus validationStatus = new ValidationStatus(); for (BusinessObject bo : bom.getBusinessObjects()) { List<Field> boFields = bo.getFields(); for (Field boField : boFields) { if (boField instanceof RelationField) { RelationField relationField = (RelationField) boField; String fieldReferenceQualifiedName = relationField.getReference().getQualifiedName(); String boQualifiedName = bo.getQualifiedName(); if (relationField.getType() == AGGREGATION && fieldReferenceQualifiedName.equals(boQualifiedName) && relationField.isCollection()) { validationStatus.addError(MULTIPLE_AGGREGATION_RELATION_TO_ITSELF, "The object " + boQualifiedName + " is referencing itself in a multiple aggregation relation.", Collections.singletonMap(StatusContext.BUSINESS_OBJECT_NAME_KEY, boQualifiedName)); } } } } return validationStatus; } }
public void annotateRelationField(final JDefinedClass entityClass, final RelationField field, final JFieldVar fieldVar) { JAnnotationUse relation = null; if (field.isCollection()) { relation = annotateMultipleReference(entityClass, field, fieldVar); } else { relation = annotateSingleReference(entityClass,field, fieldVar); } if (field.isLazy()) { relation.param("fetch", FetchType.LAZY); codeGenerator.addAnnotation(fieldVar, JsonIgnore.class); } else { relation.param("fetch", FetchType.EAGER); } if (field.getType() == Type.COMPOSITION) { relation.param("cascade", CascadeType.ALL); } else if (field.getType() == Type.AGGREGATION) { relation.param("cascade", CascadeType.MERGE); } }
public void annotateRelationField(final JDefinedClass entityClass, final RelationField field, final JFieldVar fieldVar) { JAnnotationUse relation = null; if (field.isCollection()) { relation = annotateMultipleReference(entityClass, field, fieldVar); } else { relation = annotateSingleReference(entityClass,field, fieldVar); } if (field.isLazy()) { relation.param("fetch", FetchType.LAZY); codeGenerator.addAnnotation(fieldVar, JsonIgnore.class); } else { relation.param("fetch", FetchType.EAGER); } if (field.getType() == Type.COMPOSITION) { relation.param("cascade", CascadeType.ALL); } else if (field.getType() == Type.AGGREGATION) { relation.param("cascade", CascadeType.MERGE); } }