Hibernate: генератор пользовательских идентификаторов должен сохранять сущность - PullRequest
0 голосов
/ 17 июня 2011

Я реализую собственный генератор идентификаторов для Hibernate.В моем методе generate мне нужно прочитать другую таблицу и изменить данные в ней.Вот (примерно) так, как я бы это сделал:

session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
Criteria criteria = session.createCriteria(...)...;
criteria.uniqueResult();
...
session.save(...);
transaction.commit();

Это отлично работает, но как я могу использовать это в моем Генераторе.Метод generate получает SessionImplementor, а не Session.Как я могу сохранить сущность с этим?

public class MyGenerator implements IdentifierGenerator
{
    @Override
    public Serializable generate(final SessionImplementor session, final Object object) throws HibernateException
    {
        ???
    }
}

Есть идеи?

1 Ответ

0 голосов
/ 17 июня 2011

Оказалось довольно просто:

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