I see a lot of Seam code and examples that marks methods @Transactional and immediately do em.joinTransaction before using the em. I was wondering what are the consequences of *not* following this pattern. If I were using TransactionalSeamPhaseListener, there would always be a transaction active during a request, so what's the point of using @Transactional. If I were using a seam-managed persistence context, doesn't it automatically do a em.joinTransaction()? Correct me if I'm wrong.