You are correct
http://opensource.atlassian.com/projects/hibernate/browse/ANN-411

Thanks for having catch up that.

Willem Voogd wrote:
>
> Hi All,
>
> I'm very new to hibernate and am using annotations for about a week now,
> but i believe i stumbled upon some strange behaviour.
> If i'm totally out of line and in the wrong place for my findings,
> please tell me and I won't cause any more spam on this list :)
>
> I've got a property annotated as follows:
>
> @Generated(GenerationTime.INSERT)
> @Column(insertable=false)
>
> Now reading the documentation, i was let to believe this property should
> show up in the sqlUpdateStrings, but it didn't.
>
> So, looking at the internal hibernate-annotations code i saw this code
> in PropertyBinder.make(): (It's hibernate-annotations-3.2.0cr1)
>
>         if (generated != null) {
>             if ( ! GenerationTime.NEVER.equals( generated ) ) {
>                 if ( property.isAnnotationPresent(
> javax.persistence.Version.class )
>                         && GenerationTime.INSERT.equals( generated ) ) {
>                     throw new AnnotationException("@Generated(INSERT) on
> a @Version property not allowed, use ALWAYS: "
>                             + StringHelper.qualify( holder.getPath(),
> name ) );
>                 }
>                 if ( prop.isInsertable() ) {
>                     throw new AnnotationException("Cannot have
> @Generated property and insertable columns: "
>                             + StringHelper.qualify( holder.getPath(),
> name ) );
>                 }
>                 if ( GenerationTime.ALWAYS.equals( generated ) &&
> prop.isUpdateable() ) {
>                     throw new AnnotationException("Cannot have
> @Generated(ALWAYS) property and updatable columns: "
>                             + StringHelper.qualify( holder.getPath(),
> name ) );
>                 }
>                 prop.setInsertable( false );
>                 prop.setUpdateable( false );
>                 prop.setGeneration( PropertyGeneration.parse(
> generated.toString().toLowerCase() ) );
>             }
>         }
>
>
> now, why are the calls to prop.setInsertable( false ) and
> prop.setUpdateable( false ) happening? It seems rather strange since
> they are checked before to see whether or not they are in conflict with
> the set GenerationTime, but then are overruled, so that the property
> will be neither insertable nor updateable. By commenting out these
> calls, the expected behaviour took placed (at least, expected by me) in
> that the property showed up in the update string, but not in the insert
> string. Also the other properties which had GenerationTime.ALWAYS (and
> corresponding column settings) did not show up in neither the insert nor
> the update string.
>
> So am I right in the conclusion that these calls shouldn't be made (and
> therefor posting to this list was A Good Thing;)?
>
> cheers,
>
> Willem Voogd
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job 
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 
> <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
> _______________________________________________
> hibernate-devel mailing list
> hibernate-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/hibernate-devel
>

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
hibernate-devel mailing list
hibernate-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to