2 Answers. Because it often happens that the JPA provider has to instantiate your domain object dynamically . It cannot do so, unless there is a no-arg constructor – it can’t guess what the arguments should be.
Read moreWhat is no-arg constructor?
No-Arg Constructor – a constructor that does not accept any arguments . Parameterized constructor – a constructor that accepts arguments. Default Constructor – a constructor that is automatically created by the Java compiler if it is not explicitly defined.
Read moreDo you need a no-arg constructor?
No-argument constructor A constructor that has no parameter is known as the default constructor. If we don’t define a constructor in a class, then the compiler creates a default constructor(with no arguments) for the class .
Read more