1

我注意到一个奇怪的问题。我有一个与实体类关联的休眠映射文件。

我可以通过以下方式从数据库中加载实体:

DetachedCriteria criteria = DetachedCriteria.forEntityName(entityName);
criteria.add(Restrictions.in(CAMPAIGN_ID, campaignIds));
itemsFromDB = hibernateTemplate.findByCriteria(criteria);

我能够从数据库中获取项目。实体名称在休眠映射文件中定义。Hibernate 能够返回关联实体类的实例(在映射文件中定义)以及从数据库加载的数据。

但是,我无法保存新实体。我正在尝试将实体保存在事务中(使用 @Transactional 注释)。我得到以下异常:

org.hibernate.MappingException: Unknown entity: abc.com.MyClass
    at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580)
    at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1365)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)
    at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:693)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)

如果有人能提供任何信息,我将不胜感激。

谢谢

4

0 回答 0