0
我收到以下錯誤,當我試圖從Spring容器內操縱人「實體」:結合XML和Java配置+ hibernate的4
Exception in thread "main" org.hibernate.MappingException: Unknown entity: org.s
pring.entity.Person
at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionF
actoryImpl.java:1141)
at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.jav
a:1433)
我要去哪裏錯了 - 也許在試圖結合XML和註釋元數據?
欣賞這方面的任何幫助。
實體:
@Entity
@Table(name = "PERSON")
public class Person implements Serializable {
private static final long serialVersionUID = -5527566248002296042L;
@Id
@Column(name = "ID")
@GeneratedValue
private Integer id;
@Column(name = "FIRST_NAME")
private String firstName;
@Column(name = "LAST_NAME")
private String lastName;
.....
.....
}
服務豆:
@Service("personService")
@Transactional
public class PersonService {
@Resource(name="sessionFactory")
private SessionFactory sessionFactory;
public List<Person> getAll() {
// Retrieve session from Hibernate
Session session = sessionFactory.openSession();
try{
// Create a Hibernate query (HQL)
Query query = session.createQuery("FROM Person");
// Retrieve all
return query.list();
}
finally{
session.close();
}
}
....
....
}
主要:
public static void main(String[] args){
ApplicationContext appContext =
new ClassPathXmlApplicationContext("META-INF/beans-txn.xml");
PersonService personService = (PersonService)appContext.getBean("personService");
personService.add("Rob","Cahill", new Double(20000));
List<Person> persons = personService.getAll();
.....
彈簧配置:
<context:annotation-config />
<bean id="personService" class="org.spring.service.PersonService"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
.....
</bean>
<!-- Hibernate session factory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
.....
</property>
</bean>
執行下列行時失敗: Query query = session.createQuery( 「from person where ID =?」); query.setInteger(0,id); Person(Person)query.list()。get(0); 例外是 - 線程「main」中的異常org.hibernate.hql.internal.ast.QuerySyntaxException: 未映射人員[來自ID =?的人] at org.hibernate.hql.internal.ast.util .SessionFactoryHelper.requireClass 留存(SessionFactoryHelper.java:180) 在org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement (FromElementFactory.java:110) – IUnknown
@IUnknown:請更新你'packagetoScan'配置領域 –