This would fall over with an OutOfMemoryException somewhere around the 50 000th row. That's because Hibernate caches all the newly inserted Customer instances in the session-level cache.
While joins are probably the optimal solution for performance whenever possible, it isn't always worth the complexity that may be required; the performance impact may be minimal given the context that you are working with, so you choose lazy fetching.