JPA 2和Hibernate一起使用 + Hibernate自定义类型 + Spring

3
我一直在使用Hibernate和Spring的自定义类型,取得了成功。现在我们正在为新实体使用JPA,并希望Hibernate仍然支持具有自定义类型定义的旧hbm文件。但是我收到了相同的异常。我们所有旧的Hibernate映射都是外部化的,但新的JPA实体使用注释。任何帮助都将不胜感激。谢谢。
错误:无法确定类型:com.equifax.aspire.persistence.framework.hibernate.EmptySupportedString
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

  <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceXmlLocation"  value="classpath:/persistence.xml"/>
    <property name="dataSource" ref="root.platform.persistence.dataSource"/>
    <property name="jpaVendorAdapter">
      <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <property name="showSql" value="true"/>     
        <property name="database" value="ORACLE"/>
        <property name="databasePlatform" value="org.hibernate.dialect.OracleDialect" />        
      </bean>
    </property>
   <!--<property name="loadTimeWeaver">
      <bean class="org.springframework.instrument.classloading.SimpleLoadTimeWeaver"/>
    </property> -->
  </bean> 

我的自定义类型映射在hbm文件中

<property name="securityCode" column="SecurityCode" type="com.persistence.framework.hibernate.EmptySupportedString"/>
1个回答

2
您可以将.hbm.xml文件添加到persistence.xml文件中,方法如下:
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
    <persistence-unit name="name">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <mapping-file>com/equifax/aspire/persistence/framework/hibernate/EmptySupportedString.hbm.xml</mapping-file>

这样就可以使其可用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接