0

特定のタイプのエンティティを挿入した後、それが常にセッションから削除されるようにしたいと考えています。

IPostInsertEventListener でこれを行うことができるようですが、安全かどうかはわかりません。

これはうまくいきますか:

public class LogUpdatesPostInsertEventListener : IPostInsertEventListener
{
    public void OnPostInsert(PostInsertEvent insertEvent)
    {
        var entity = insertEvent.Entity;

        if (entity is Foo)
        {
            insertEvent.Session.Evict(entity);
        }
    }
}
4

1 に答える 1

0

あなたが達成したいことを考えると、あなたが持っているコードは正しいように見えます。Session.Flush()挿入がデータベースに確実にコミットされるように明示的に追加する必要があるかどうか疑問に思っていますが、要件によって異なります。

また、1 つの作業単位 (1 つの HTTP 要求など) では、1 つのセッションのみで作業していることを確認してください。

于 2012-05-19T10:48:48.157 に答える