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)