<div class="gmail_quote">On Mon, Jun 22, 2009 at 2:32 PM, Andy Schwartz <span dir="ltr">&lt;<a href="mailto:andy.schwartz@oracle.com">andy.schwartz@oracle.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Andy Schwartz wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thanks Pete -<br>
<br>
Pete Muir wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The issue is that it isn&#39;t always (normally IMO) the case that you want the model update on an ajax request to do validation, you only want the model updated when you actually hit submit... This is a problem if you are applying values directly to the managed JPA entities which get flushed to the database at the end of the TX.<br>

<br>
</blockquote>
<br>
What are the consequences of applying a validated value to a managed entity early - ie. during Ajax validation, as opposed to waiting until the full submit?  Is there some overhead here that you want to avoid?  Presumably the value is not being flushed to the database immediately (as you said, this won&#39;t happen until the end of the TX),<br>

</blockquote>
<br></div>
Oh, actually... So is the deal that your are committing the TX in response to the Ajax validation, and thus the value is actually being flushed to the database immediately?</blockquote><div><br>That&#39;s correct. The flush (i.e., database update) is avoidable by sidestepping a transaction or using a JPA vendor extension such a Hibernate&#39;s manual flushing, but the concern is that it is too easy for a developer to inadvertently cause a database update by adding Ajax w/o changing backend code.<br>
<br>The whole &quot;skip the update model&quot; aspect of validation is really worth debating in a separate thread. The counter argument to using it is that cross-field validation becomes very awkward because you have to retrieve the converted value from the component rather than from the model property (throwing a wrench in more advanced Bean Validation usage as well). But let&#39;s venture down that discussion in a separate thread.<br>
<br>As far as I know, ICEfaces does not support the &quot;bypass model update&quot; when using partial submit. I&#39;ve discussed this with Ted, but I don&#39;t thing anything ever came of it.<br><br>-Dan</div></div><br>-- <br>
Dan Allen<br>Senior Software Engineer, Red Hat | Author of Seam in Action<br><br><a href="http://mojavelinux.com">http://mojavelinux.com</a><br><a href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br>
<a href="http://in.relation.to/Bloggers/Dan">http://in.relation.to/Bloggers/Dan</a><br><br>NOTE: While I make a strong effort to keep up with my email on a daily<br>basis, personal or other work matters can sometimes keep me away<br>
from my email. If you contact me, but don&#39;t hear back for more than a week,<br>it is very likely that I am excessively backlogged or the message was<br>caught in the spam filters.  Please don&#39;t hesitate to resend a message if<br>
you feel that it did not reach my attention.<br>