Hi, What you're looking for is a unidirectional one-to-one. Can you post the source code for the second case in your email?
-Patrick On 11/21/07, Gul Onural <[EMAIL PROTECTED]> wrote: > > > I have a classA which has a one-to-one relationship to classB. The > classB side of the relationship is really 0 or 1. So, not every classB > has a classA. In this case setting one-to-one relationships on both side > is not what I want. > > Instead what I did was to create classB in the constructor of the > classA. I didn't annotate any relationships in any of these two classes > in this case. When I try to create classA I get following exception : > > org.apache.openjpa.persistence.InvalidStateException: Encountered > unmanaged object "ClassB" in persistent field "ClassA.myClassB" of > managed object "ClassB" during flush. However, this field does not > allow cascade persist. You cannot flush unmanaged objects. > > Then I tried to set a one-to-one relationship on A to B. But no > relationship set on the B to A. > > This time I get another exception : > > org.apache.openjpa.persistence.ArgumentException: "ClassA.myClassB" > declared that it is mapped by "myClassB", but that is a not a field of > the related type. > > So, how do I handle this type of situations with openjpa ? Again ClassA > has a one-to-one relationship to ClassB, but ClassB has 0 or 1 > relationship to ClassB. > > Gul > > -- Patrick Linskey 202 669 5907
