使用sbt,我该怎么做才能执行EclipseLink提供的注释处理器org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor
,以便从我的实体类生成元模型?
答案 0 :(得分:0)
克隆项目ssdemojpa
$ git clone http://github.com/frgomes/ssdemojpa
从SBT控制台输入以下命令:
zap reload metamodel compile test
项目ssdemojpa
提供了有关PlayFramework
如何与SecureSocial
(针对OpenID / OAuth / OAuth2身份验证)和EclipseLink
(作为JPA提供商)集成的演示。演示应用程序还提供了与Twitter4J
的非常简单的集成,以便从Twitter检索趋势。
SBT脚本:https://github.com/frgomes/ssdemojpa/blob/master/project/Build.scala
在上面引用的SBT构建脚本中,trait Metamodel
负责定义任务metamodel
,它处理JPA实体类并在实体类所在的同一目录中生成元模型。
请注意,子模块models
包含带注释的JPA实体类,并且必须使用Java8进行编译,因为在DAO类中使用了Java8语法(但不在实体类中)。
请注意,注释处理器无法识别Java7和Java8引入的功能,但无论如何,只要不在实体类中使用Java7 / Java8语法,就可以使用Java7或Java8编译代码。您可以在其他类中使用Java7 / Java8语法。再次:ssdemojpa
需要Java8。
如果使用Java7或Java8编译代码,注释处理器将发出警告,但是它会生成关联的元类,因为您的实体类必须遵循Java6语法。在这种情况下,警告消息是无关紧要的,只要您已正确定义实体类,一切都应该正常工作。