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

Patrice DUROUX updated OPENJPA-2805:
------------------------------------
    Description: 
Dear OpenJPA developers,

I've been beating around the bush for a long time and hesitating to repport a 
bug until now.

My problem is a much larger project but it can be summed up in the following 
situation. I would like to map such a class using an XML ORM onto a specific 
relational schema (I mean to not have any preferred column names for the 
corresponding join table).

 
{noformat}
public class Node2 implements Serializable {
        private static final long serialVersionUID = -3038751343463495553L;
        private Long id;
        public Long getId() {
                return id;
        }
        public void setId(Long id) {
                this.id = id;
        }
        private Node2 parent;   public Node2 getParent() {
                return parent;
        }
        public void setParent(Node2 parent) {
                this.parent = parent;
        }
        private Set<Node2> childs;      public Set<Node2> getChilds() {
                return childs;
        }
        public void setChilds(Set<Node2> childs) {
                this.childs = childs;
        }
        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + ((id == null) ? 0 : id.hashCode());
                return result;
        }
        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                Node2 other = (Node2) obj;
                if (id == null) {
                        if (other.id != null)
                                return false;
                } else if (!id.equals(other.id))
                        return false;
                return true;
        }
        public Node2() {
                this.childs = new LinkedHashSet<>();
        }
}

{noformat}
I have a small Maven project with many persistence units as cases that are not 
given me the expected result (working or not). But doing this, I am also facing 
strange discrepancy between the annotation and the XML approaches (that are 
supposed to be equivalent to me for case1 and case2 if I am not wrong).

Also I tried both using a runtime enhancement and a static one.

I am have a zip of a small Maven project with a JUnit test for the different 
cases to check.

In the larger project, I created a view to solve part of the problem. But then 
sure I cannot use the mapping to it to modify the persisted objects.

Regards,

Patrice

  was:
Dear OpenJPA developers,

I've been beating around the bush for a long time and hesitating to repport a 
bug until now.

My problem is a much larger project but it can be summed up in the following 
situation. I would like to map such a class using an XML ORM onto a specific 
relational schema (I mean to not have any preferred column names for the 
corresponding join table).

 
{noformat}
public class Node2 implements Serializable {
        private static final long serialVersionUID = -3038751343463495553L;     
private Long id;        public Long getId() {
                return id;
        }       public void setId(Long id) {
                this.id = id;
        }       private Node2 parent;   public Node2 getParent() {
                return parent;
        }       public void setParent(Node2 parent) {
                this.parent = parent;
        }       private Set<Node2> childs;      public Set<Node2> getChilds() {
                return childs;
        }       public void setChilds(Set<Node2> childs) {
                this.childs = childs;
        }       @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + ((id == null) ? 0 : id.hashCode());
                return result;
        }       @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                Node2 other = (Node2) obj;
                if (id == null) {
                        if (other.id != null)
                                return false;
                } else if (!id.equals(other.id))
                        return false;
                return true;
        }       public Node2() {
                this.childs = new LinkedHashSet<>();
        }
}

{noformat}
I have a small Maven project with many persistence units as cases that are not 
given me the expected result (working or not). But doing this, I am also facing 
strange discrepancy between the annotation and the XML approaches (that are 
supposed to be equivalent to me for case1 and case2 if I am not wrong).

Also I tried both using a runtime enhancement and a static one.

I am have a zip of a small Maven project with a JUnit test for the different 
cases to check.

In the larger project, I created a view to solve part of the problem. But then 
sure I cannot use the mapping to it to modify the persisted objects.

Regards,

Patrice


> unable to map self-related class with discrepancy between the annotation and 
> XML ORMs
> -------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2805
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2805
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.4.3, 3.0.0
>            Reporter: Patrice DUROUX
>            Priority: Major
>
> Dear OpenJPA developers,
> I've been beating around the bush for a long time and hesitating to repport a 
> bug until now.
> My problem is a much larger project but it can be summed up in the following 
> situation. I would like to map such a class using an XML ORM onto a specific 
> relational schema (I mean to not have any preferred column names for the 
> corresponding join table).
>  
> {noformat}
> public class Node2 implements Serializable {
>       private static final long serialVersionUID = -3038751343463495553L;
>         private Long id;
>         public Long getId() {
>               return id;
>       }
>       public void setId(Long id) {
>               this.id = id;
>       }
>       private Node2 parent;   public Node2 getParent() {
>               return parent;
>       }
>       public void setParent(Node2 parent) {
>               this.parent = parent;
>       }
>       private Set<Node2> childs;      public Set<Node2> getChilds() {
>               return childs;
>       }
>       public void setChilds(Set<Node2> childs) {
>               this.childs = childs;
>       }
>         @Override
>       public int hashCode() {
>               final int prime = 31;
>               int result = 1;
>               result = prime * result + ((id == null) ? 0 : id.hashCode());
>               return result;
>       }
>       @Override
>       public boolean equals(Object obj) {
>               if (this == obj)
>                       return true;
>               if (obj == null)
>                       return false;
>               if (getClass() != obj.getClass())
>                       return false;
>               Node2 other = (Node2) obj;
>               if (id == null) {
>                       if (other.id != null)
>                               return false;
>               } else if (!id.equals(other.id))
>                       return false;
>               return true;
>       }
>       public Node2() {
>               this.childs = new LinkedHashSet<>();
>       }
> }
> {noformat}
> I have a small Maven project with many persistence units as cases that are 
> not given me the expected result (working or not). But doing this, I am also 
> facing strange discrepancy between the annotation and the XML approaches 
> (that are supposed to be equivalent to me for case1 and case2 if I am not 
> wrong).
> Also I tried both using a runtime enhancement and a static one.
> I am have a zip of a small Maven project with a JUnit test for the different 
> cases to check.
> In the larger project, I created a view to solve part of the problem. But 
> then sure I cannot use the mapping to it to modify the persisted objects.
> Regards,
> Patrice



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to