我注意到一个奇怪的问题。我有一个与实体类关联的休眠映射文件。
我可以通过以下方式从数据库中加载实体:
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)
如果有人能提供任何信息,我将不胜感激。
谢谢