【发布时间】:2014-12-23 06:06:09
【问题描述】:
我想将 JPA 2.0 Criteria API 应用于 Hibernate 遗留应用程序,以获得类型安全的查询。手动创建模型不是一种选择;也没有引入注解(即将 *.hbm.xml 映射转换为 JPA 注解)。
到目前为止,我尝试使用 Hibernate 的 "hibernate-jpamodelgen-4.3.6.Final.jar" 生成器,但没有成功。这个想法是有一个“虚拟”实体来启动 Hibernate 的注释处理器 (JPAMetaModelEntityProcessor)。然后,我希望JPAMetaModelEntityProcessor 能够检测到 persistence.xml 并最终智能足以检测 XML 配置的实体。
【问题讨论】:
-
“没有运气”是什么意思?你有错误吗?错误、警告?我还没有尝试过,但manual 声明生成器将默认获取
persistence.xml和orm.xml如果它们在类路径上。注意“提示”:您需要将<persistence-unit-metadata><xml-mapping-metadata-complete/></persistence-unit-metadata>添加到您的配置中。 -
这里没有运气的意思:只是没有按预期进行,即没有生成任何内容。实际上,如果我的类路径中没有带注释的实体,处理器就不会启动,即我什至无法传递诸如“-Adebug=true”之类的处理器选项或使用“-ApersistenceXml=...”指定不同的配置资源.
-
我知道,这个帖子很老了。但也许现在你知道如何解决这个问题了,我对 hbm.xml 文件也有同样的问题,没有生成任何东西。
-
@Bagat - 最终我不得不硬着头皮接受没有类型安全查询的生活。对不起。
-
我有同样的需要,类型安全的查询,没有使用休眠元模型生成器。我专门为此目的创建了一个小型开源项目,请查看:github.com/grozandrei/exposable