从IPostInsertEventListener.OnPostInsert执行的查询再次触发OnPostInsert

时间:2014-01-20 18:25:31

标签: nhibernate event-listener

我有一个IPostInsertEventListener,它执行一个NHibernate查询,而这个查询由于某种原因导致对同一个IPostInsertEventListener的新调用,最终导致StackOverflowException。

从IPostInsertEventListener执行NHibernate查询是不是很糟糕(我可以选择在创建监听器时预加载和缓存数据)?

为什么查询会触发插入后事件?

1 个答案:

答案 0 :(得分:1)

如果您在休眠状态下问我,这似乎是一个错误。自从我们使用thread_static会话上下文以来,我们所做的“修复”操作是在单独的线程中执行诸如IPostInsertEventListener之类的事物的实现中的逻辑,以便它将利用不同的{{ 1}}来避免该问题。