Re: Unnecessary Join on bidirectional OneToOne relation

2011-10-18 Thread Tobias Trelle
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 =

Re: Unnecessary Join on bidirectional OneToOne relation

2011-10-18 Thread Rick Curtis
Sorry I didn't ask this in my initial email what version of OpenJPA are you using, and how are you enhancing your Entities? On Tue, Oct 18, 2011 at 3:02 AM, Tobias Trelle tobias.tre...@codecentric.de wrote: Dear Rick, Rick Curtis wrote: How are you mapping this relationship? Can you

Re: Unnecessary Join on bidirectional OneToOne relation

2011-10-18 Thread Tobias Trelle
Rick Curtis wrote: Sorry I didn't ask this in my initial email what version of OpenJPA are you using, and how are you enhancing your Entities? I'm using OpenJPA 2.0.1. The double join happens both with runtime and build time enhanced classes. The build time enhancement is done with

Confused about Optimistic lock exceptions

2011-10-18 Thread Tim Watts
Hi, I'm getting some exceptions in my unit tests due to optimistic locking errors and I don't quite understand why. There are 2 scenarios but for brevity I'll just focus on one here and maybe that'll shed light on the other case. BTW, I'm using OpenJPA 2.0.1. Basically, I try to delete an entity

Re: Unnecessary Join on bidirectional OneToOne relation

2011-10-18 Thread Rick Curtis
Tobias - Hmm, I thought for sure that this worked but I stand corrected. You are correc that when selecting an Entity that is the owner of a bidirectional, eager 1-1 (perhaps others) we issue an extra join. You probably already found this out but if you were to call em.find(B.class,

Re: Confused about Optimistic lock exceptions

2011-10-18 Thread Tim Watts
A little light shed when I set logging level to DEBUG. It appears that OpenJPA is trying to delete from top to bottom: i.e. RECIPE then GROUPING then INGREDIENT then STEP. Since I have cascade deletes declared in the DDL I can understand how it would get errors when trying to delete from GROUPING