[ https://issues.apache.org/jira/browse/OPENJPA-2925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17929376#comment-17929376 ]
Maxim Solodovnik commented on OPENJPA-2925: ------------------------------------------- Seems to be reproducible in case of enhansing in both build and runtime Here are the test cases: https://github.com/apache/openjpa/commit/45baaf7a834e4f8edf903f3b38f98d55a27a1e09 > 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)