One thing I do kind of worry about here (thinking about it some more) is the notion of extended persistence contexts.  There the threads would be different across calls, just not concurrently so.  And storing thread-id this way would brick that.  @scottmarlow you agree?

Maybe a better option is to tie in to the ```org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl#pulse``` hook to set the thread-id on each pulse?  If we go this route we certainly need an option for users to be able to disable this behavior as we already discussed.