Ah .... I see, so by explicitly setting null columns Cayenne ensures that the local object is in sync with the DB row.

Thanks, that makes sense :-)

Jurgen


-----Original Message----- From: Andrus Adamchik
Sent: Wednesday, February 24, 2016 10:16 AM
To: [email protected]
Subject: Re: inserting null columns

Hi Jurgen,

the reason for that behavior is that Cayenne knows nothing about the DB defaults, and insert that relies on them would end up with an object in memory whose state is different from the row in the DB. So your best bet is to use a "postAdd" callback method to init the defaults on the Java side.

Andrus


On Feb 22, 2016, at 4:14 PM, [email protected] wrote:

Hi All

I've notice that when Cayenne 3.1 constructs a SQL insert statement, that it includes all null valued columns as well. Is there a way to prevent this from happening because in MS SQL it prevents default column constraint values from being applied.

I've tried creating an entity without fields for the columns that have DB default values but Cayenne insists on adding the missing columns when inserting !?

Is there a particular reason for this behaviour ?

Thanks, regards
Jurgen


Reply via email to