0

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
    {
        ???
    }
}

何か案は?

4

1 に答える 1

0

It turned out to be quite simple:

Session session = ( Session ) sessionImplementor;
于 2011-06-17T14:15:17.113 に答える