как использовать новые вложенные аннотации в scala 2.8.0

похоже, что когда выйдет scala 2.8.0, мы сможем использовать вложенные @annotations в наших уровнях персистентности. Но как? Может ли кто-нибудь преобразовать это с java на scala? Спасибо.

@NamedQueries({
    @NamedQuery(name = "findAll", query="select p from Person p"),
    @NamedQuery(name = "findTheOne",
          query="select p from Person p where p.name = 'Neo'")
})


person coubeatczech    schedule 31.07.2010    source источник


Ответы (1)


Вам нужно обернуть элементы в Array() и написать вложенные аннотации как вызов конструктора:

@NamedQueries(Array(
    new NamedQuery(name = "findAll", query="select p from Person p"),
    new NamedQuery(name = "findTheOne",
          query="select p from Person p where p.name = 'Neo'")
))
person Moritz    schedule 31.07.2010
comment
так возникла еще одна проблема: за Stateless(name="Bean") Bean{...} у меня error: expected start of definition - person coubeatczech; 31.07.2010
comment
@coubeatczech для аннотаций верхнего уровня нельзя пропускать "@". Я не знаю контекста этой ошибки, но вы хотели написать @Stateless(name="Bean") class Bean { /* ... */ }? - person Moritz; 31.07.2010
comment
извините, я написал это, не проверив, соответствует ли набранный текст мысли, и да, я имел в виду это: @Stateless(name="Bean") class Bean{...} - person coubeatczech; 01.08.2010
comment
Что ж, я потратил свой час на выяснение этого, а потом я нашел это. Работает как шарм! - person Sagar; 06.02.2014