[hibernate-issues] [Hibernate-JIRA] Commented: (HV-526) Stackoverflow on @Required

Hardy Ferentschik (JIRA) noreply at atlassian.com
Tue Nov 15 11:29:21 EST 2011


    [ http://opensource.atlassian.com/projects/hibernate/browse/HV-526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44320#comment-44320 ] 

Hardy Ferentschik commented on HV-526:
--------------------------------------

Your problem is actually due to the usage of 
{code}
	@LazyCollection(LazyCollectionOption.EXTRA)
{code}

the problem is that by using it, the collection is not loaded at once, but via multiple session. In your _B.detach_ you are actually modifying the collection and since you are using _LazyCollectionOption.EXTRA_ the collection becomes dirty and a new event is triggered which in return calls the validator. Your validator itself then forces a initialization of the collection and gets into an endless loop. I think you just cannot use _ at LazyCollection(LazyCollectionOption.EXTRA)_ in this case. I wouldn't consider this a bug in Validator or Core atm.

> Stackoverflow on @Required
> --------------------------
>
>                 Key: HV-526
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-526
>             Project: Hibernate Validator
>          Issue Type: Bug
>          Components: annotation-processor, engine, validators
>    Affects Versions: 4.1.0.Final, 4.2.0.Final
>         Environment: Tests done on Hibernate 3.6.5 final and Hibernate 3.6.7 final with MySQL 5.1
>            Reporter: Vincent LE HELLIDU
>              Labels: hibernate, validation
>         Attachments: HibernateTest.zip
>
>
> Hello,
> I have a stackoverflow error in the following test case.
> This test case define a bidirectionnal relation OneToMany between A and B where at least one B is Required in the collection A.getB().
> The goal of the test case is to delete some B retreived from database.
> My conclusion: it does not work when retreiving B directly - see deleteFromB() - but it works when getting B from the retreived A - see deleteFromA().
> In class MainAB.java, if I use deleteFromA() method, the deletion of "B"s works but deleteFromB() causes a stackoverflow.
> I think it is a bug on Hibernate or Hibernate Validator but I am not sure, perhaps it is normal with this mapping ?
> If someone can guide me.
> Best regards,
> Vincent
> ORIGINAL POST : https://forum.hibernate.org/viewtopic.php?f=9&t=1012855

--
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