Dear Rick,
Rick Curtis wrote: > > How are you mapping this relationship? Can you post code snippets from > both > sides of the relationship? > Here's the full code of my minial example: @Entity public class A { @Id int id; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "id") private B b; public int getId() { return id; } public void setId(int id) { this.id = id; } public B getB() { return b; } public void setB(B b) { this.b = b; } } @Entity public class B { @Id private int id; @OneToOne(mappedBy = "b") private A a; public int getId() { return id; } public void setId(int id) { this.id = id; } public A getA() { return a; } public void setA(A a) { this.a = a; } } My test code looks like this: A a; B b; EntityManager em = getEntityManager(); EntityTransaction tx = em.getTransaction(); a = new A(); a.setId(1); b = new B(); b.setId(1); a.setB(b); b.setA(a); tx.begin(); em.persist(a); tx.commit(); em.clear(); a = em.find(A.class, 1); which produces the following SQL select statement: TRACE 09:59:19 - <t 13741320, conn 11915355> executing prepstmnt 10188622 SELECT t1.id, t2.id FROM A t0 INNER JOIN B t1 ON t0.id = t1.id LEFT OUTER JOIN A t2 ON t1.id = t2.id WHERE t0.id = ? [params=(int) 1] TRACE 09:59:19 - <t 13741320, conn 11915355> [15 ms] spent TIA, Tobias -- View this message in context: http://openjpa.208410.n2.nabble.com/Unnecessary-Join-on-bidirectional-OneToOne-relation-tp6900378p6903642.html Sent from the OpenJPA Users mailing list archive at Nabble.com.