Checked and unchecked exceptions in EJBs
EJBs are good. But here's something lame:
Throwing an unchecked exception (ie. RuntimeException) causes the current transaction to be rolled back.
Throwing a checked exception (ie. a declared exception) does not roll back the current transaction.
I never throw any exception from my code that does not require a roll back. It seems so awkward.