You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Nikolay Grechanov (JIRA)" <ji...@apache.org> on 2018/02/28 18:26:00 UTC

[jira] [Created] (OLINGO-1242) Property and referential constraint are missing when @ManyToOne(fetch = EAGER)

Nikolay Grechanov created OLINGO-1242:
-----------------------------------------

             Summary: Property and referential constraint are missing when @ManyToOne(fetch = EAGER)
                 Key: OLINGO-1242
                 URL: https://issues.apache.org/jira/browse/OLINGO-1242
             Project: Olingo
          Issue Type: Bug
          Components: odata2-jpa
    Affects Versions: V2 2.0.10
         Environment: Java EE 7 (TomEE) Server, Java 8, EclipseLink 2.5.2
            Reporter: Nikolay Grechanov


In my JPA model I have the following property:
{code:java}
@ManyToOne(fetch = EAGER, optional = false)
@BatchFetch(JOIN)
@NotNull
@JoinColumn(name = "PARENT_ID", nullable = false)
@JsonProperty(PARENT_DETAILS)
@JsonSerialize(using = ODataDeferredSerializer.class)
private Parent parent;{code}
$metadata contains Parent property as well as referential constraint for association:
 
{code:java}
...
<EntityType Name="Child">
 <Key>
  <PropertyRef Name="Id"/>
 </Key>
 <Property Name="Parent" Type="Edm.Int64" Nullable="false"/>
 <NavigationProperty Name="ParentDetails" Relationship="myProject.Child_Parent_Many_One0" FromRole="Child" ToRole="Parent"/>
</EntityType>
...
<Association Name="Child_Parent_Many_One0">   <End Type="myProject.Child" Multiplicity="*" Role="Child"/>  <End Type="myProject.Parent" Multiplicity="1" Role="Parent"/>  <ReferentialConstraint>
  <Principal Role="Parent">
   <PropertyRef Name="Id"/>
  </Principal>
  <Dependent Role="Child">
   <PropertyRef Name="Parent"/> 
  </Dependent> 
 </ReferentialConstraint> 
</Association> 
...{code}
When I set 
{code:java}
@ManyToOne(fetch = LAZY, optional = false){code}
 

then $metadata contains _neither_ Parent property _nor_ referential constraint for the association:
{code:java}
...
<EntityType Name="Child">
 <Key>
  <PropertyRef Name="Id"/>
 </Key>
 <NavigationProperty Name="ParentDetails" Relationship="myProject.Child_Parent_Many_One0" FromRole="Child" ToRole="Parent"/>
</EntityType>
...
<Association Name="Child_Parent_Many_One0">   <End Type="myProject.Child" Multiplicity="*" Role="Child"/>  <End Type="myProject.Parent" Multiplicity="1" Role="Parent"/>
</Association> 
...{code}
ManyToOne.optional, NonNull, JoinColumn.nullable annotation values have no effect



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)