Сборка не удалась с Groovy 1.8, Hibernate JPA аннотации - PullRequest
3 голосов
/ 14 июля 2011

Сбой сборки с Groovy 1.8, аннотации Hibernate JPA

Я застрял с использованием Groovy 1.7.0 и не могу выполнить обновление до многочисленных обновлений из-за ошибки сборки JPA Annotation.

Мой код - довольно стандартные аннотации JPA и отлично работал с прошлыми отличными версиями. Я хотел бы иметь возможность обновить до Groovy 1.8.0. Если кто-нибудь видел и решил эту проблему, буду признателен за вашу помощь!

Кажется, что не удается скомпилировать части @JoinTable всех моих аннотаций @ManyToMany.

Ошибка: сообщение «Значение аннотации должно быть аннотацией». Я просмотрел javadocs JPA и, похоже, не пропустил ни одного обязательного поля. Мои аннотации работали нормально в прошлых версиях.

Кроме того, я использую Gant для своей сборки и не исключаю, что это будет возможной проблемой ??

Вот пример отображения:

@ManyToMany(mappedBy='topics')
@JoinTable(name="screencast_topic",
 joinColumns=[@JoinColumn(name="topicId")],
 inverseJoinColumns=[@JoinColumn(name="screenCastId")])
@Sort(type=SortType.NATURAL)

Скомпилировать вывод:

[groovyc] Compiling 412 source files to /Users/ben/workspace/nofluff/build/webapps/ROOT/WEB-INF/classes
 [groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
 [groovyc] Abnormal termination of javac.
 [groovyc] /var/folders/rs/rsmW8feBHJyH6EPl+V3XME+++TI/-Tmp-/groovy-generated-1581380806855929206-java-source/nfjs/model/Topic.java:84: <b>annotation value must be an annotation</b>
 [groovyc] @org.apache.struts2.json.annotations.JSON(serialize=false) @javax.persistence.ManyToMany(mappedBy="topics") @javax.persistence.JoinTable(inverseJoinColumns={"org.codehaus.groovy.ast.AnnotationNode@7997f538"}, name="screencast_topic", joinColumns={"org.codehaus.groovy.ast.AnnotationNode@67646de5"}) @org.hibernate.annotations.Sort(type=org.hibernate.annotations.SortType.NATURAL) public  java.util.SortedSet<nfjs.model.screencast.Screencast> getScreencasts() { return (java.util.SortedSet<nfjs.model.screencast.Screencast>)null;}

1 Ответ

2 голосов
/ 14 июля 2011

Разработчики Groovy знают об этой проблеме (http://jira.codehaus.org/browse/GROOVY-4768). Похоже, исправление для следующего выпуска. Текущий обходной путь - создать свою собственную сборку Groovy и протестировать ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...