cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Musall, Maik" <m...@selbstdenker.ag>
Subject Re: Validation and @PrePersist
Date Wed, 01 Mar 2017 16:43:33 GMT
Hi all,

but isn't hte purpose of validation to check if the object to be saved is in a valid state?
That would imply that validation has a positive (pass) or negative (ValidationException) result,
and no side effects. Modifying the object during validation would defeat the purpose, wouldn't
it?

Maik

> Am 01.03.2017 um 17:12 schrieb Matt Watson <matt@swarmbox.com>:
> 
> When I ran into this same scenario I realized that “validateForInsert” was the hook
I needed, instead of @PrePersist.
> 
> @Override
> public void validateForInsert(ValidationResult validationResult) {
> 	if (getReference() == null || getReference().isEmpty()) {
> 		setReference(System.getNextPurchaseOrderReference());
> 	}
> 	super.validateForInsert(validationResult);
> }
> 
> 
> 
>> On Mar 1, 2017, at 5:51 AM, Hugi Thordarson <hugi@godurkodi.is> wrote:
>> 
>> Hi Jurgen,
>> fine suggestion but unfortunately not the part of the lifecycle I need to catch—the
action needs to be performed before committing, not after adding (so basically I need @PrePersist—but
I need it before validation happens).
>> 
>> Cheers,
>> - hugi
>> 
>> 
>>> On 1. mar. 2017, at 13:14, <dollj@xsinet.co.za> <dollj@xsinet.co.za>
wrote:
>>> 
>>> Hi Hugi
>>> 
>>> For this kind of thing use @PostAdd instead.
>>> 
>>> Regards
>>> Jurgen
>>> 
>>> 
>>> -----Original Message----- From: Hugi Thordarson
>>> Sent: Wednesday, March 1, 2017 1:18 PM
>>> To: user@cayenne.apache.org
>>> Subject: Validation and @PrePersist
>>> 
>>> Hi all,
>>> I have some logic in a Listener that uses @PrePersist to populate the value of
a required attribute before committing changes. Turns out this doesn’t work, since Cayenne
invokes validateForInsert() before running @PrePersist.
>>> 
>>> Any suggestions for where I can invoke logic populates required values before
validation?
>>> 
>>> Cheers,
>>> - hugi 
>> 
> 


Mime
View raw message