Hibernate 用のカスタム Id ジェネレーターを実装しています。私の生成メソッドでは、別のテーブルから読み取り、そのデータを変更する必要があります。それは(約)私がそれを行う方法です:
session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
Criteria criteria = session.createCriteria(...)...;
criteria.uniqueResult();
...
session.save(...);
transaction.commit();
それはうまくいきますが、ジェネレーターでどのように使用できますか。generate-method はSessionImplementor
ではなく を取得しSession
ます。エンティティを永続化するにはどうすればよいですか?
public class MyGenerator implements IdentifierGenerator
{
@Override
public Serializable generate(final SessionImplementor session, final Object object) throws HibernateException
{
???
}
}
何か案は?