我正在尝试使用注释将Spring与Hibernate结合使用,并且出现以下错误:
org.springframework.orm.hibernate3.HibernateSystemException : Unknown entity: entities.Bar; nested exception is org.hibernate.MappingException: Unknown entity: entities.Bar
这是我的设置…
我的实体:
package entities; @Entity public class Bar implements Serializable { ... }
我的豆子:
package blah; @Repository @Service("fooService") @RemotingDestination(channels = { "my-amf" }) public class Foo { protected HibernateTemplate template; @Autowired public void setSessionFactory(SessionFactory sessionFactory) { template = new HibernateTemplate(sessionFactory); } @RemotingInclude public void addBar(String name) throws DataAccessException { Bar bar = new Bar(); bar.setName(name); template.save(bar); }
}
我在Spring中启用注释:
<context:annotation-config /> <context:component-scan base-package="blah" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="org.h2.Driver" /> <property name="url" value="jdbc:h2:~/blahdb/blahdb" /> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="annotatedClasses"> <list> <value>entities.Bar</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop> <prop key="hibernate.hbm2ddl.auto">create</prop> </props> </property> </bean>
当我通过BlazeDS从Flex应用程序调用Foo.addBar方法时收到错误消息。
我真的很想避免其他配置,而且似乎所有这些都可以解决。
我正在使用Spring 3.0.0.RC1,Hibernate Annotations 3.4.0,Tomcat 6.0.20和Java 1.6.0_15。
有任何想法吗?谢谢。
尝试使用import @javax.persistence.Entity而不将其org.hibernate.annotations.Entity用作Entity注释。
import @javax.persistence.Entity
org.hibernate.annotations.Entity
Entity