On 07/08/2015 09:02 AM, Hardy Ferentschik wrote:
> Hi,
>
>> The same test works with the WildFly master branch, which is using ORM
>> 4.3.x.  The Bean Validation integration code is unchanged in my WildFly
>> branch, as is the Bean Validator.  The only thing different, is the ORM 5
>> integration code and the ORM 5 persistence provider.
>
> Just fishing here, but "integration code and the ORM 5 persistence provider" 
> might
> indicate a problem in the persistence bootstrapping.
> Have a look at 
> org.hibernate.cfg.beanvalidation.TypeSafeActivator#getValidatorFactory.
> Basically ORM expects to retrieve the ValidatorFactory to use for the life 
> cycle based
> validation from the properties passed via the Persistence bootstrap. The 
> property name
> is javax.persistence.validation.factory. If there is no instance passed ORM 
> will bootstrap
> a default factory using  Validation.buildDefaultValidatorFactory(). The 
> latter would
> of course not be CDI enabled. This would explain why validation occurs, but 
> not CDI injection.
> I would for sure put a breakpoint in there as well (and some trace/debug log 
> would be probably
> nice to have as well to easily tell whether a factory is passed or a default 
> one is generated.

http://pastebin.com/4X0h1VPA is the call stack in.  We are in the second 
bootstrap phase, which is good.  The validator factory is passed into 
the integration properties but we are only checking the persistence unit 
properties in ORM 5.  Since we are not looking in the integration 
properties for the "javax.persistence.validation.factory", we are not 
seeing it.  So your are right on the money, great suggestion.

I'll check next why the 
EntityManagerFactoryBuilder.withValidatorFactory(ValidatorFactory) is 
also ignored.



>
> --Hardy
>
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to