【发布时间】:2011-03-22 09:49:48
【问题描述】:
我了解到,从 6.9 版开始,Netbeans 包含 annotation processing 支持,这是生成 JPA 2.0 实体元模型所需的功能。
但是,我找不到任何示例或文档来准确说明如何执行此操作。你们中有人成功了吗?
【问题讨论】:
标签: java netbeans criteria-api jpa-2.0 annotation-processing
我了解到,从 6.9 版开始,Netbeans 包含 annotation processing 支持,这是生成 JPA 2.0 实体元模型所需的功能。
但是,我找不到任何示例或文档来准确说明如何执行此操作。你们中有人成功了吗?
【问题讨论】:
标签: java netbeans criteria-api jpa-2.0 annotation-processing
我没有在 NetBeans 6.9 中试验此功能,但根据 release notes(和 Bug 178108),我的理解是,如果您使用 EclipseLink(并且如果您将eclipselink-jpa-modelgen.jar 添加到类路径):
Java Persistence
创建新的持久性单元是 在所有向导中简化,在实体中 从数据库向导最合适 持久性单元将由 默认。
现在元模型类将是 为项目实体生成,如果 持久性单元将被创建 eclipselink 提供程序(支持 j2se、web、ejb 和应用程序客户端 项目)。自动处理器 添加暂时禁用,因为 eclipselink中的一个问题,你可以 从添加 eclipselink-jpa-modelgen jar eclipselink 分发到您的 手动项目以启用元模型 一代。
数据库向导中的实体得到了增强 允许再生。它允许用户 从头开始重新生成实体 结构数据库更改或更新后 通过添加代码实体类 用于新的数据库字段。
对于其他持久性提供者,您是否真的尝试添加他们的元模型生成器 JAR 并按照您提供的链接的第一部分和第二部分中的建议声明注释处理器?
【讨论】:
maven 编译器插件有注释处理器的问题。用 maven 做起来并不简单,有时它会失败。不仅适用于 JPA,还适用于 netbeans 自己的注释和生成代码的处理器。即使没有遇到任何问题,您可能需要将编译器插件配置为与 ann 处理器一起使用。确保使用最新最好的 m-c-p,那里已经修复了一些问题。
http://jira.codehaus.org/browse/MCOMPILER-122 http://jira.codehaus.org/browse/MCOMPILER-97 http://jira.codehaus.org/browse/MCOMPILER-71 http://jira.codehaus.org/browse/MCOMPILER-66
【讨论】:
Milos 是正确的 - 使用最新的 Maven 编译器插件,以及最新的 EclipseLink。另外,eclipselink-jpa-modelgen.jar 文件必须在您的依赖项中。
设置项目的最简单方法是从http://bits.netbeans.org/netbeans/trunk/nightly/ 下载最新的 NetBeans 6.10 夜间版本,并在此版本中创建项目 - 一切都应该运行良好。然后您可以在 NetBeans 6.9.1 中继续编辑此项目。
【讨论】: