Question: why jpa needs default constructor?
Answer: Explicitly defining a default constructor is not necessary unless you provide another constructor for the entity. ... Since JPA implementations rely upon the existence of a default constructor it is then necessary to include the default constructor that will be omitted.