Как сохранить унаследованный класс с помощью TemplateHibernate в Spring - PullRequest
1 голос
/ 03 января 2012

У меня проблема при попытке сохранить унаследованный объект с помощью TemplateHibernate: скажем, у меня есть два класса, как показано ниже: Contact <--------- EntrepriseContact и вот contact.hbm.xml </p>

   <joined-subclass name="Entreprise" table="Entreprise">
            <key column="ID_ENTREPRISE"  />
            <property name="numSiret">
                <column name="NUM_SIRET" />
            </property>
        </joined-subclass>

Когда я создаю объект Entreprise и сохраняю его с помощью Hibernate, он работает

try
        {
            SessionFactory sessionFactory =
                new Configuration().configure().buildSessionFactory();
            session = sessionFactory.openSession();
            org.hibernate.Transaction tx = session.beginTransaction();

       ........................................

            session.saveOrUpdate(entreprise);
            tx.commit();

        }catch(Exception e){
            System.out.println(e.getMessage());
        }

Но когда я попытался использовать HibernateTemplate, я получил следующую ошибку:

org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: domain.Contact; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: domain.Contact

Как я могу решить эту проблему?

Обратите внимание, что когда я пытался с Контактом, я работал в обеих ситуациях, но с Entreprise, это не работало: (

1 Ответ

2 голосов
/ 03 января 2012

Проверьте Исходная документация Spring , чтобы проверить, как использовать hibernateTemplate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...