[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] No inserts happen on table
|
Hello,
It does say the problem, but the field will be set via the
AppUserProfile -> Address OneToMany relationship, which is set or
Address itself would not be persisted. Unfortunately, EclipseLink will
not set the foreign keys in a uni-directional OneToMany relationship in
the initial insert statement. It will correct the foreign key here in a
seperate Update to the database. The reason for this is because the
Join column is defined within the AppUserProfile, and so only gets
discovered when AppUserProfile gets processed while Address processing
may be done before that.
So if your database allows, you can set it to delay constraint
processing until the transaction commits or turn off the constraint on
this relationship. If that is not possible, an alternative would be to
add a ManyToOne relationship from Address to AppUserProfile for the
foreign key. This relationship will need to be set when ever an address
is added to the AppUserProfile , but will allow EclipseLink to populate
the foreign key in the insert statement.
Best Regards,
Chris
On 09/06/2010 12:07 PM, Dominik Dorn wrote:
Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services -
2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions
.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: null value
in column "username" violates not-null constraint
Error Code: 0
Call: INSERT INTO ADDRESS (ZIPCODE, TOWN, ADDRESSLINE2, ADDRESSLINE1,
COUNTRY) VALUES (?, ?, ?, ?, ?)
bind => [1001, Tunis, null, some place, Tunisia]
this says it all... the column "username" does not get filled in your
database table,
probably because the user is not set in the address entity.