Juho Rinta-Paavola created OPENJPA-2925:
-------------------------------------------

             Summary: Accessing a non-recursive relation of an instance that 
has been loaded via a recursive relation may produce wrong result
                 Key: OPENJPA-2925
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2925
             Project: OpenJPA
          Issue Type: Bug
    Affects Versions: 4.0.0, 3.2.2
            Reporter: Juho Rinta-Paavola


Given the entities
{code:java}
@Entity
public class Cat {
    @Id
    @GeneratedValue
    private int id;
    @OneToMany(mappedBy = "parent", fetch = FetchType.EAGER)
    private List<Cat> children = new ArrayList<>();
    @ManyToOne
    private Cat parent;
    @ManyToOne
    private Human human;
}{code}
and
{code:java}
@Entity
public class Human {
    @Id
    @GeneratedValue
    private int id;
    private String name;
    @OneToMany(mappedBy = "human", fetch = FetchType.EAGER)
    private List<Cat> cats = new ArrayList<>();
} {code}
Calling {{kitten.getParent().getHuman()}} will return the kitten's human 
instead of the expected parent's human, if the kitten has a sibling and both 
kittens belong to the same human.

Failing unit test is available at _TODO link to github_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to