[ 
https://issues.apache.org/jira/browse/OPENJPA-1107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737397#action_12737397
 ] 

Donald Woods commented on OPENJPA-1107:
---------------------------------------

Rev799491 implements a TraversableResolverImpl that behaves identical to the 
default JPA aware one that BV providers must implement, so not sure why we have 
to provide this yet....  But, it's hooked into the ValidatorImpl code, as 
required by the spec.

There is code commented out in the TRImpl that I would like to use, which would 
be more efficient than the default behavior of interrogating all providers, but 
it causes a java.lang.UnsupportedOperationException.

> Provide TraversableResolver for use with Bean Validation Factory
> ----------------------------------------------------------------
>
>                 Key: OPENJPA-1107
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1107
>             Project: OpenJPA
>          Issue Type: Sub-task
>          Components: validation
>    Affects Versions: 2.0.0-M2
>            Reporter: Jeremy Bauer
>            Assignee: Donald Woods
>             Fix For: 2.0.0
>
>
> Per the JPA 2.0 specification, a TraversableResolver must be provided in 
> order to meet the validation criteria outlined in section 3.6.1.2 of the 
> 3/13/09 draft.
> The validator instance that is used for automatic validation upon lifecycle 
> events must use a TraversableResolver
> that has the following behavior:
> • Attributes that have not been loaded must not be loaded.
> • Entity associations (single-valued or multi-valued) must not be traversed.
> These requirements guarantee that no unloaded attribute or association will 
> be loaded by side effect and
> that no entity will be validated more than once.
> Embeddable attributes must be validated only if the Valid annotation has been 
> specified on them.
> It is the responsibility of the persistence provider to pass an instance 
> implementing the javax.validation.
> TraversableResolver interface to the Bean Validation provider by calling 
> ValidatorFactory.
> usingContext().traversableResolver(

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to