[OLINGO-951] Embeddable changes

Signed-off-by: mibo <mibo@mirb.de>
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java
index 793e151..bda0a1b 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntity.java
@@ -432,7 +432,11 @@
 
     JPAEdmMapping mapping = (JPAEdmMapping) edmComplexType.getMapping();
     Object embeddableObject = mapping.getJPAType().newInstance();
-    accessModifier.invoke(jpaEntity, embeddableObject);
+    if (propertyName != null) {
+    	accessModifier.invoke(jpaEntity, propertyName, embeddableObject);
+    } else {
+    	accessModifier.invoke(jpaEntity, embeddableObject);
+    }
 
     HashMap<String, Method> accessModifiers =
         jpaEntityParser.getAccessModifiers(embeddableObject, edmComplexType,
@@ -453,7 +457,7 @@
       } else {
         if (propertyName != null) {
           setProperty(accessModifier, embeddableObject, propertyValue.get(edmPropertyName),
-              (EdmSimpleType) edmTyped.getType(), propertyName);
+              (EdmSimpleType) edmTyped.getType(), edmPropertyName);
         } else {
           setProperty(accessModifier, embeddableObject, propertyValue.get(edmPropertyName),
               (EdmSimpleType) edmTyped.getType());
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParser.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParser.java
index 4c1d439..203712c 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParser.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParser.java
@@ -564,7 +564,7 @@
         		  }
         	  } else {
         		  JPAEdmMapping jpaEdmMapping = (JPAEdmMapping) property.getMapping();
-        		  if(jpaEdmMapping.isVirtualAccess()) {
+        		  if(jpaEdmMapping != null && jpaEdmMapping.isVirtualAccess()) {
         			  method = jpaEntityType.getMethod(ACCESS_MODIFIER_GET, String.class);
         		  }else{
         			  method = jpaEntityType.getMethod(methodName, (Class<?>[]) null);