How We Turned Architectural Guidelines Into Compilation Errors

Have you ever found yourself doing a Friday afternoon Code Review, only to discover that someone injected the EntityManager directly into…