cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Watson <m...@swarmbox.com>
Subject Re: Validation and @PrePersist
Date Wed, 01 Mar 2017 16:12:52 GMT
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