我已成功使用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"/>
答案 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>
这应该可以使用