[ 
https://issues.apache.org/jira/browse/OLINGO-824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Bolz closed OLINGO-824.
-------------------------------

> Incorrect Facets Of JoinColumns
> -------------------------------
>
>                 Key: OLINGO-824
>                 URL: https://issues.apache.org/jira/browse/OLINGO-824
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-jpa
>    Affects Versions: V2 2.0.5
>            Reporter: Johannes Hoenger
>            Assignee: Michael Bolz
>             Fix For: V2 2.0.6
>
>         Attachments: Stracktrace.JPG
>
>
> I recognised a potential bug in the JPA processor. I have an entity with the 
> following structure:
> {code:title=A.java}
> public class A {
>        @Id
>        @Column(name = "ID", nullable = false)
>        private String id;
>        @ManyToOne(optional = true)
>        @JoinColumn(name = "PARENT_ID", referencedColumnName = "ID" , nullable 
> = true)
>        private A parent;
> }
> {code}
> Notice the self reference from "parent" to "id". While the *"id" field can 
> not be set null* the field *"parent" is nullable*. In the JPA context, this 
> definition can be interpreted.
> Lets have a look at the following entity instances:
> ||ID||PARENT||
> |1|null|
> |2|1|
> While the serialization of Olingo works perfectly fine for the instance with 
> id 2, it fails for the instance with id 1. An EdmSimpleTypeException is 
> thrown and the following error is returned:
> {code:javascript}
> {
>     "error": {
>         "code": null,
>         "message": {
>             "lang": "en",
>             "value": "An exception of type 'EdmSimpleTypeException' occurred."
>         }
>     }
> }
> {code}
> A closer look into the sources (see attached screenshot) seems to indicate 
> that the "nullable" attribute for the field "parent" is retrieved from the 
> referenced field "id" instead of "parent" itself.
> I also noticed that this issue does not arise, if nullable attribute of the 
> "id" field is set to true.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to