/** Read the Id marker annotations on EmbeddedId properties. */
  private void readAssocOne(DeployBeanProperty prop) {

    Id id = get(prop, Id.class);
    if (id != null) {
      prop.setId(true);
      prop.setNullable(false);
    }

    EmbeddedId embeddedId = get(prop, EmbeddedId.class);
    if (embeddedId != null) {
      prop.setId(true);
      prop.setNullable(false);
      prop.setEmbedded(true);
    }

    if (prop instanceof DeployBeanPropertyAssocOne<?>) {
      if (prop.isId() && !prop.isEmbedded()) {
        prop.setEmbedded(true);
      }
      readEmbeddedAttributeOverrides((DeployBeanPropertyAssocOne<?>) prop);
    }
  }
  private void readId(Id id, DeployBeanProperty prop) {

    prop.setId(true);
    prop.setNullable(false);

    if (prop.getPropertyType().equals(UUID.class)) {
      // An Id of type UUID
      if (descriptor.getIdGeneratorName() == null) {
        // Without a generator explicitly specified
        // so will use the default one AUTO_UUID
        descriptor.setIdGeneratorName(UuidIdGenerator.AUTO_UUID);
        descriptor.setIdType(IdType.GENERATOR);
      }
    }
  }