If we create a new ElementType.RECORD, the annotation in question won't
even be *able *to add that target type until it is ready to *require* JDK
13 (or whatever) as its new minimum version.


On Tue, Apr 10, 2018 at 1:38 PM, Brian Goetz <brian.go...@oracle.com> wrote:

> [ moving to amber-spec-experts]
>
> I tend to agree.  It will take longer to adopt, but it _is_ a new kind of
> target in a source file, and then frameworks can decide what it should
> mean, and then there's no confusion.
>
> It's possible, too, as a migration move, to split the difference, though
> I'm not sure its worth it -- add a new target, _and_, if the target
> includes param/field/method, but does _not_ include record, then lower the
> anno onto all applicable members.
>
> On 4/10/2018 1:34 PM, Remi Forax wrote:
>
>> No, not right for me,
>> a new Annotation target is better so each framework can decide what it
>> means for its annotation.
>>
>> It will slow the adoption but it's better in the long term.
>>
>> Rémi
>>
>> ----- Mail original -----
>>
>>> De: "Kevin Bourrillion" <kev...@google.com>
>>> À: "Gunnar Morling" <gun...@hibernate.org>
>>> Cc: "amber-dev" <amber-...@openjdk.java.net>
>>> Envoyé: Mardi 10 Avril 2018 19:25:57
>>> Objet: Re: Records -- Using them as JPA entities and validating them
>>> with Bean Validation
>>> On Mon, Apr 9, 2018 at 1:39 PM, Gunnar Morling <gun...@hibernate.org>
>>> wrote:
>>>
>>>    * Annotation semantics: I couldn't find any example of records with
>>>> annotations, but IIUC, something like
>>>>
>>>>          @Entity record Book(@Id long id, String isbn) { ... }
>>>>
>>>>      would desugar into
>>>>
>>>>          class @Entity public class Book { private @Id long id, private
>>>> String isbn; ... };
>>>>
>>>>      For the JPA entity use case it'd be helpful to have an option to
>>>> lift
>>>> annotations to the corresponding getters instead of the fields (as the
>>>> location of the @Id annotation controls the default strategy -- field
>>>> vs.
>>>> property -- for reading/writing entity state). Similarly, Bean
>>>> Validation
>>>> would benefit from such option.
>>>>
>>>> My assumption has been that we would allow an annotation on a record
>>> parameter as long as it has *any of *{FIELD,METHOD,PARAMETER} as target,
>>> and that the annotation would be automatically propagated to each
>>> synthesized element it applies to. Does this sound about right to
>>> everyone?
>>>
>>>
>>> --
>>> Kevin Bourrillion | Java Librarian | Google, Inc. | kev...@google.com
>>>
>>
>


-- 
Kevin Bourrillion | Java Librarian | Google, Inc. | kev...@google.com

Reply via email to