jpa 2和hibernate一起+ hibernate自定义类型+ spring

时间:2010-12-08 19:11:13

标签: java hibernate spring jpa java-ee

我已成功使用hibernate和spring的hibernate自定义类型。现在我们将JPA用于新实体,并希望hibernate仍然可以支持定义了自定义类型的旧hbm文件。但是我得到了同样的例外。我们所有旧的hibernate映射都是外部化的,但新的JPA实体正在使用注释。任何帮助表示赞赏。 THX

错误:无法确定以下类型: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 个答案:

答案 0 :(得分: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>

这应该可以使用