<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Such validations are typically trigger before flush (ie before Hibernate) by either your application or your application framework. For example Seam triggers the validation in each marked "form".<div>The right place to ask such questions is forum.hibernate.org though.<br><div><br><div><html>On &nbsp;Apr 3, 2008, at 08:27, Vallon, Justin wrote:</html><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div lang="EN-US" link="blue" vlink="purple"><div class="Section1"><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">Suppose a field has a validator, and the field is made invalid (age &lt; 0).&nbsp; When flushing, the validator runs, and throws an exception.&nbsp; The exception handling section (&lt;<a href="http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#transactions-demarcation-exceptions" style="color: blue; text-decoration: underline; ">http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#transactions-demarcation-exceptions</a>>) states that if any method throws an exception, the session must be closed.<o:p></o:p></span></font></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p>&nbsp;</o:p></span></font></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">So, what to do if session-per-conversation is used?&nbsp; If hibernate validation is used, then flush of invalid data corrupts the session – the application then needs to ask the user to start over, or else build complex recovery logic (new session, copy data to new session) - effectively reducing session-per-conversation to session-per-transaction, since the application needs to be able to replay transactions that fail due to validation.<o:p></o:p></span></font></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p>&nbsp;</o:p></span></font></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">How does hibernate validation interact with extended sessions?<o:p></o:p></span></font></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p>&nbsp;</o:p></span></font></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">-Justin</span></font><o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">office 8-383-6725, 212-272-6725; cell 917-861-6042</span></font><o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" face="Times New Roman"><span style="font-size: 12pt; "><o:p>&nbsp;</o:p></span></font></div></div><br><br>***********************************************************************<br>Bear Stearns is not responsible for any recommendation, solicitation,<span class="Apple-converted-space">&nbsp;</span><br>offer or agreement or any information about any transaction, customer<span class="Apple-converted-space">&nbsp;</span><br>account or account activity contained in this communication.<br>***********************************************************************<br><br>_______________________________________________<br>hibernate-dev mailing list<br><a href="mailto:hibernate-dev@lists.jboss.org" style="color: blue; text-decoration: underline; ">hibernate-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/hibernate-dev" style="color: blue; text-decoration: underline; ">https://lists.jboss.org/mailman/listinfo/hibernate-dev</a><br></div></span></blockquote></div><br></div></div></body></html>