|
From: Colin S. <col...@ex...> - 2005-03-11 21:33:42
|
We we do need to include the actual Annotation source files somewhere...
On top of that, yes, you access the actual annotations via calls like
Annotation ann = targetClass.getAnnotation(filter);
or
Annotation ann = targetMethod.getAnnotation(filter);
Now Annotation itself is for the most part just a regular Interface, but
it does have a method in it
Class<? extends Annotation> annotationType();
which is 1.5 syntax specific, so I personally think 1.3 code is going to
barf on trying to use this interface, never mind that in practice, any
code which gets the annotation will quickly try to see if it's a
specific type (subclass) of Annotation (since this is just a marker
interface that does nothing by itself), and do something with it, so
really the code that manipulates the Annotations themselves would have
to be compiled as 1.5 as well.
Colin
Juergen Hoeller wrote:
>Well, we only want to *access* annotations through the corresponding JDK 1.5
>API. That should be possible with -source 1.3 and -target 1.3 too, if I
>understand the issue correctly.
>
>The only thing we can't do is include annotations in our sources and expect
>them to be compiled into the class files. Please let me know if I'm
>completely mistaken :-)
>
>Juergen
>
>
>-----Original Message-----
>From: spr...@li...
>[mailto:spr...@li...]On Behalf
>Of Colin Sampaleanu
>Sent: Friday, March 11, 2005 10:01 PM
>To: spr...@li...
>Subject: Re: [Springframework-developer] Hibernate 3 annotations in 1.2
>rc1
>
>
>I think JDK 1.5 generating 1.3 compatible code would hopefully work
>fine. But realistically, we _do_ want to use annotations, as in the
>current Tx Annotations code... So there the problem becomes that if
>everything is in the same codebase, you can't really compile some parts
>with -1.3, and some with -1.5.
>
>Juergen Hoeller wrote:
>
>
>
>>Well, as long as we just compile against JDK 1.5 API or jars built with JDK
>>1.5 (like hibernate-annotations.jar), we should be able to build
>>with -target 1.3 on JDK 1.5. Thinks just become hard if we intend to
>>
>>
>include
>
>
>>annotations in some of our files or use generics.
>>
>>Admittedly, I haven't played with JDK 1.5 generating 1.3-compatible class
>>files yet...
>>
>>Juergen
>>
>>
>>-----Original Message-----
>>From: spr...@li...
>>[mailto:spr...@li...]On Behalf
>>Of Colin Sampaleanu
>>Sent: Friday, March 11, 2005 12:51 AM
>>To: spr...@li...
>>Subject: Re: [Springframework-developer] Hibernate 3 annotations in 1.2
>>rc1
>>
>>
>>Short of switching to separate source modules (hint hint :-) ), that's
>>going to be pretty hard to do. We can compile with JDK 1.5, for lower
>>target versions, but then if you don't specify a 1.5 target version, the
>>annotations stuff would blow up.
>>
>>
>>Juergen Hoeller wrote:
>>
>>
>>
>>
>>
>>>Thanks for the suggestion, Dan! I've prototypically added such an
>>>AnnotationsSessionFactoryBean.
>>>However, the Hibernate3 annotations jar is built with JDK 1.5, so we
>>>can only build and ship this class if our build process switches to
>>>JDK 1.5 required too. We might switch to building with JDK 1.5 anyway,
>>>though, for our new transaction annotation feature that we'd like to
>>>ship in Spring 1.2.
>>>Juergen
>>>
>>> -----Original Message-----
>>> *From:* spr...@li...
>>> [mailto:spr...@li...]*On
>>> Behalf Of *Washusen, Dan
>>> *Sent:* Thursday, March 10, 2005 7:09 AM
>>> *To:* spr...@li...
>>> *Subject:* RE: [Springframework-developer] Hibernate 3 annotations
>>> in 1.2 rc1
>>>
>>> Incase anyone is interested; I’ve attached an implementation of
>>> the bean definition I described below.
>>>
>>> Cheers,
>>>
>>> Dan
>>>
>>> ----------------------------------------------------------------------
>>>
>>>
>>>
>>>
>>--
>>
>>
>>
>>
>>> *From:* spr...@li...
>>> [mailto:spr...@li...] *On
>>> Behalf Of *Washusen, Dan
>>> *Sent:* Wednesday, 9 March 2005 12:29 PM
>>> *To:* spr...@li...
>>> *Subject:* [Springframework-developer] Hibernate 3 annotations in
>>> 1.2 rc1
>>>
>>> Hey guys,
>>>
>>> I’ve bean mucking around with Hibernate 3 (with annotations)
>>> support in nightly build. All is going well but I thought I would
>>> offer some feedback…
>>>
>>> 1. I had to extend the
>>> org.springframework.orm.hibernate3.LocalSessionFactoryBean
>>> class and override the newConfiguration() method to return
>>> an instance of org.hibernate.cfg.AnnotationConfiguration.
>>> 2. I then moved the list of mappings (from hibernate2)
>>> specified by mappingResources into the hibernate.cfg.xml
>>> file (using the format specified by the Hibernate
>>> annotations page) and specified the location using the
>>> configLocation property.
>>>
>>> Pretty easy really…
>>>
>>> A provided extension of LocalSessionFactoryBean that had support
>>> for annotated classes would be nice. The bean definition could
>>> look something like:
>>>
>>> <bean id="sessionFactory"
>>>
>>>
>>>
>>>
>>>
>>class="org.springframework.orm.hibernate3.AnnotationsLocalSessionFactoryBea
>>
>>
>n
>
>
>>">
>>
>>
>>
>>
>>> <property name="dataSource">
>>>
>>> <ref local="dataSource"/>
>>>
>>> </property>
>>>
>>> <property name="mappingPackage">
>>>
>>> <value>some.package</value>
>>>
>>> </property>
>>>
>>> <property name="annotatedClasses">
>>>
>>> <list>
>>>
>>> <value>com.package.Foo</value>
>>>
>>> <value>com.package.Bar</value>
>>>
>>> </list>
>>>
>>> </property>
>>>
>>> </bean>
>>>
>>> Cheers,
>>>
>>> Dan
>>>
>>>www.sensis.com.au
>>>
>>>A leading Australian advertising, information
>>>
>>>and directories business.
>>>
>>>
>>>www.yellowpages.com.au
>>>www.whitepages.com.au
>>>www.citysearch.com.au
>>>www.whereis.com.au
>>>www.telstra.com.au
>>>www.tradingpost.com.au
>>>
>>>This email and any attachments are intended only for the use of the
>>>
>>>
>>>
>>>
>>recipient and may be confidential and/or legally privileged.
>>
>>
>>
>>
>>>Sensis Pty Ltd disclaims liability for any errors, omissions, viruses,
>>>
>>>
>loss
>
>
>>>
>>>
>>and/or damage arising from using, opening or transmitting this email.
>>
>>
>>
>>
>>>If you are not the intended recipient you must not use, interfere with,
>>>
>>>
>>>
>>>
>>disclose, copy or retain this email and you should notify the sender
>>immediately by return email or by contacting Sensis Pty Ltd by telephone on
>>[+61 3 8653 5000]
>>
>>
>>
>>
>>>www.sensis.com.au
>>>
>>>A leading Australian advertising, information
>>>
>>>and directories business.
>>>
>>>
>>>www.yellowpages.com.au
>>>www.whitepages.com.au
>>>www.citysearch.com.au
>>>www.whereis.com.au
>>>www.telstra.com.au
>>>www.tradingpost.com.au
>>>
>>>This email and any attachments are intended only for the use of the
>>>
>>>
>>>
>>>
>>recipient and may be confidential and/or legally privileged.
>>
>>
>>
>>
>>>Sensis Pty Ltd disclaims liability for any errors, omissions, viruses,
>>>
>>>
>loss
>
>
>>>
>>>
>>and/or damage arising from using, opening or transmitting this email.
>>
>>
>>
>>
>>>If you are not the intended recipient you must not use, interfere with,
>>>
>>>
>>>
>>>
>>disclose, copy or retain this email and you should notify the sender
>>immediately by return email or by contacting Sensis Pty Ltd by telephone on
>>[+61 3 8653 5000]
>>
>>
|