Question: why jpa requires default constructor?
Answer: Default or No-Arg Constructor. The JPA specification requires that all persistent classes have a no-arg constructor. ... Because the compiler automatically creates a default no-arg constructor when no other constructor is defined, only classes that define constructors must also include a no-arg constructor.