It is a bit ugly. But in some cases, in order to automate some entity creation, it is necessary. For example, if I want to create a HTextflowTargetHistory, I just need to call
maker.makeAndPersiste(HTextFlowTargetHistory.class, entityManager); 
It will create a HTextFlowTarget object first, then use the non-no-arg constructor of HTextflowTargetHistory which make sure all the fields are copied from HTextFlowTarget. 
Calling no-arg constructor then setters will lose this type of automated constraint enforcement.