[ https://issues.apache.org/jira/browse/OPENJPA-2925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17877613#comment-17877613 ]
Maxim Solodovnik commented on OPENJPA-2925: ------------------------------------------- the test can be fixed by adding {code} Cat cat1 = em.find(Cat.class, parentId); {code} SQL generated from JPQL: {code} Cat jpqlKitten_1 = em.createQuery("SELECT c FROM Cat c WHERE c.id = :id", Cat.class) .setParameter("id", kitten1Id) .getSingleResult(); {code} also produces wrong results [~romain.manni-bucau] can you please suggest where in the code can I check this? :)) > 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)