IMO, the convenience benefit of the builder pattern doesn't make up for the strictness you lose when instantiating the entity. Entities usually have column rules like "nullable = false" which means you are mandated to pass it when instantiating. There are other workarounds to mandate parameters in the builder pattern, but do you really want to go through all that trouble for all of your entities?