[ https://issues.apache.org/jira/browse/OPENJPA-2925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946641#comment-17946641 ]
ASF subversion and git services commented on OPENJPA-2925: ---------------------------------------------------------- Commit f2520c06dd23b50f6b6a5d9a1e9e004176d2ae81 in openjpa's branch refs/heads/master from Paulo Cristovão de Araújo Silva Filho [ https://gitbox.apache.org/repos/asf?p=openjpa.git;h=f2520c06d ] [OPENJPA-2925] Clearing result cache before loading eager joins * [OPENJPA-2925] Tests for issue * OPENJPA-2925 Clearing result cache before loading eager joins --------- Co-authored-by: Maxim Solodovnik <solo...@apache.org> > 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: 3.2.2, 4.0.0 > Reporter: Juho Rinta-Paavola > Priority: Major > > 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 > https://github.com/jrp6/openjpa/blob/openjpa-2925/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/recursive/TestRecursiveThenNonRecursiveRelationship.java -- This message was sent by Atlassian Jira (v8.20.10#820010)