Hibernate:从核心API切换到JPA API,无需重写映射

Dan*_*ons 3 hibernate jpa-2.0

是否可以使用hbm xml Hibernate配置以符合JPA 2.0的方式构建EntityManagerFactory和EntityManager?文档似乎表明这是不可能的:

"之前的教程使用了特定于Hibernate的hibernate.cfg.xml配置文件.但是,JPA定义了一个使用自己的名为persistence.xml的配置文件的不同引导过程." - 第4章

我的hbm xml配置长达数千行并且可以工作; 我宁愿不必手动重写为orm.xml和persistence.xml.我也没有对数据模型的写访问权来添加Hibernate或JPA注释.出于我的目的,我只需要JPA API,而不是JPA配置.

有没有办法实现这个目标?

Mik*_*unu 7

对的,这是可能的.可以通过在persistence.xml中设置以下属性来使用现有映射:

<property name="hibernate.ejb.cfgfile" value="hibernate.cfg.xml"/>
Run Code Online (Sandbox Code Playgroud)

值是hibernate特定配置的路径.也可以使用JPA映射部分覆盖hibernate样式映射.其他说明可以从文档中找到:http://docs.jboss.org/hibernate/core/4.0/hem/en-US/html_single#d0e708