Я реализую собственный генератор идентификаторов для 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
{
???
}
}
Есть идеи?