You can't uncheck mandatory checkbox for a PK.
As to the original problem, I am pretty sure I am not seeing this
behavior in Cayenne 3.0. Could be a bug in 2.0.4. Would it be possible
to try it out with 3.0?
Andrus
On Jun 18, 2009, at 6:39 PM, Michael Gentry wrote:
> I'm going to take a guess that the isMandatory="true" is firing first
> before the PK is generated and assigned. Try turning that off and see
> if it works. Cayenne should know that PKs are mandatory, anyway.
>
> mrg
>
>
> On Wed, Jun 17, 2009 at 5:17 PM, Mark Fraser<mar..ark100.net> wrote:
>> Hello,
>>
>> I am using Cayenne 2.0.4 with Derby embedded.
>>
>> I am getting a ValidationException "id is required" when I commit
>> changes
>> after creating a new object.
>>
>> I have set the PK Generation Strategy to Database-Generated and set
>> the ID
>> field as Auto Incremented in the modeler.
>>
>> In my map file the id field looks like this:
>>
>> ...db-attribute name="ID" type="INTEGER" isPrimaryKey="true"
>> isGenerated="true" isMandatory="true" length="10"....
>>
>>
>> I have also tested whether Cayenne thinks the adapter supports
>> generated
>> keys with the following code:
>>
>>
>> DataMap map = dataContext.getEntityResolver().getDataMap("MyMap");
>> DataNode node =
>> dataContext.getParentDataDomain().lookupDataNode(map);
>> DbAdapter ad = node.getAdapter();
>> System.out.println(ad.supportsGeneratedKeys());
>> and this returns true.
>>
>> If I uncheck "Object Validation" for the data domain in the modeler
>> everything works fine.
>>
>> However I would rather not turn off object validation.
>>
>> Anyone have any suggestions on what I might be missing?
>>
>> Thanks,
>>
>> Mark
>>
>
This archive was generated by hypermail 2.0.0 : Fri Jun 19 2009 - 07:24:21 EDT