私は奇妙な問題に気づいています。エンティティ クラスに関連付けられた休止状態のマッピング ファイルがあります。
次の方法でデータベースからエンティティをロードできます。
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)
どなたか情報提供いただけると大変助かります。
ありがとう