wrapping DB access code inside a transaction solves the LazyInitialization/no session problem