Hibernate: генератор пользовательских идентификаторов должен сохранять сущность

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

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

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

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

Есть идеи?

1 ответ

Решение

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

Session session = ( Session ) sessionImplementor;
Другие вопросы по тегам