【问题标题】:Build fails with Groovy 1.8, Hibernate JPA annotations使用 Groovy 1.8、Hibernate JPA 注释构建失败
【发布时间】:2011-07-13 20:06:55
【问题描述】:

使用 Groovy 1.8、Hibernate JPA 注释构建失败

由于 JPA Annotation 构建错误,我一直无法使用 Groovy 1.7.0 并且无法升级到大量更新。

我的代码是非常标准的 JPA 注释,并且在过去的 groovy 版本中运行良好。我希望能够升级到 Groovy 1.8.0。如果有人看到并解决了这个问题,我将感谢您的帮助!

我的所有@ManyToMany 注释的@JoinTable 部分似乎都无法编译。

失败并显示“注释值必须是注释”消息。我查看了 JPA javadocs,似乎没有遗漏任何必填字段。我的注释在过去的版本中运行良好。

另外,我正在使用 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;}

【问题讨论】:

    标签: java hibernate jpa groovy


    【解决方案1】:

    groovy 开发人员都知道这个问题 (http://jira.codehaus.org/browse/GROOVY-4768)。 看起来下一个版本的修复程序已经到位。当前的解决方法是构建您自己的 Groovy 并对其进行测试。

    【讨论】:

    • Andres.. 很高兴你参加了 UberConf。很高兴谈论并了解更多有关此的信息。问题的总结是联合编译存在问题(编译groovy和java源码)。更改为所有 groovy 解决了这个问题。幸运的是,我几乎没有剩余的 Java 源代码,并且能够轻松地将其转换为 groovy。我认为这是一个大问题,因为它使拥有现有 Java 项目的团队很难转换为 groovy。这可能不利于 groovy 的采用。
    猜你喜欢
    • 2011-12-07
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多