[hibernate-issues] [Hibernate-JIRA] Issue Comment Edited: (HV-587) stack overflow when having @Valid on cycle
Hardy Ferentschik (JIRA)
noreply at atlassian.com
Fri May 11 10:16:09 EDT 2012
[ https://hibernate.onjira.com/browse/HV-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46617#comment-46617 ]
Hardy Ferentschik edited comment on HV-587 at 5/11/12 9:15 AM:
---------------------------------------------------------------
Please find attached my test case.
I am using:
{noformat}
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.2.0.Final</version>
{noformat}
The exception is
{noformat}
Exception in thread "main" java.lang.StackOverflowError
at javax.persistence.spi.PersistenceProviderResolverHolder.getPersistenceProviderResolver(PersistenceProviderResolverHolder.java:39)
at javax.persistence.Persistence.getProviders(Persistence.java:60)
at javax.persistence.Persistence.access$000(Persistence.java:16)
at javax.persistence.Persistence$1.isLoaded(Persistence.java:76)
at org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:61)
at org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:131)
at org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:46)
at org.hibernate.validator.engine.ValidatorImpl.isCascadeRequired(ValidatorImpl.java:1266)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:472)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
...
{noformat}
was (Author: ztang):
Please find attached my test case.
I am using
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.2.0.Final</version>
The exception is
Exception in thread "main" java.lang.StackOverflowError
at javax.persistence.spi.PersistenceProviderResolverHolder.getPersistenceProviderResolver(PersistenceProviderResolverHolder.java:39)
at javax.persistence.Persistence.getProviders(Persistence.java:60)
at javax.persistence.Persistence.access$000(Persistence.java:16)
at javax.persistence.Persistence$1.isLoaded(Persistence.java:76)
at org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:61)
at org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:131)
at org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:46)
at org.hibernate.validator.engine.ValidatorImpl.isCascadeRequired(ValidatorImpl.java:1266)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:472)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:613)
at org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:478)
...
> stack overflow when having @Valid on cycle
> ------------------------------------------
>
> Key: HV-587
> URL: https://hibernate.onjira.com/browse/HV-587
> Project: Hibernate Validator
> Issue Type: Bug
> Reporter: Michael G
> Attachments: test.zip
>
>
> When I have some entities referencing each other (a cycle), the annotation @Valid is on the corresponding getters and there is not really something to be validated on these entities (no @NotNull, ... is present) I end up in a recursion which leads to a stack overflow.
> If there are some @NotNull the detection of cycles does work fine.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list