[hibernate-issues] [Hibernate-JIRA] Updated: (HV-281) validation of a persisted map

Vladimir Klyushnikov (JIRA) noreply at atlassian.com
Wed Mar 24 16:30:31 EDT 2010


     [ http://opensource.atlassian.com/projects/hibernate/browse/HV-281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Klyushnikov updated HV-281:
------------------------------------

    Attachment: testcase.zip

Please delete previous file - it is wrong. I've attached full maven project with test case. Run *mvn test* on it and see one of the tests failing

> validation of a persisted map
> -----------------------------
>
>                 Key: HV-281
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-281
>             Project: Hibernate Validator
>          Issue Type: Bug
>          Components: engine
>         Environment: hibernate-core 3.5.0-Beta-3
> Validator 4.0.1.GA
> MySQL 5.1
>            Reporter: thogau
>             Fix For: 4.1.0
>
>         Attachments: EntityWithCollection.java, mapValidation.zip, testcase.zip
>
>
> Hi,
> I am trying to validate an entity that holds a Map<K, V> of other persisted entities (just checking wether the map holds some predefined values).
> I can validate it "by hand" using validator.validate() and my map is correctly filled at validation time
> However when validation framework is called by persistence callbacks, my map is always empty...
> I am using Validator 4.0.1.GA and hibernate-core 3.5.0-Beta-2
> I tryed to pinpoint the problem and it seems that the map is not touched in the following method of AbstractType during the merge :
> {code}
> public Object replace(
>       Object original, Object target, SessionImplementor session,
>       Object owner, Map copyCache, ForeignKeyDirection foreignKeyDirection) throws HibernateException {
>    boolean include;
>    if ( isAssociationType() ) {
>       AssociationType atype = (AssociationType) this;
>       include = atype.getForeignKeyDirection()==foreignKeyDirection;
>    }
>    else {
>       include = ForeignKeyDirection.FOREIGN_KEY_FROM_PARENT==foreignKeyDirection;
>    }
>    return include ? replace(original, target, session, owner, copyCache) : target;
> }
> {code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list