Fix: hibernate.InstantiationException: No default constructor for entity: User

Spring Boot: Exception Stack

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 
[Request processing failed: org.springframework.orm.jpa.JpaSystemException: 
     No default constructor for entity:  : com.example.redisdemo.DbUser] with root cause

  org.hibernate.InstantiationException: No default constructor for entity:  : com.example.springboot.User
	at org.hibernate.metamodel.internal.EntityInstantiatorPojoStandard.instantiate(
	at org.hibernate.persister.entity.AbstractEntityPersister.instantiate(

The above exception is what you get when you do not have a default constructor not been defined in your Entity/POJO class when working with Spring Data JPA.

The default constructor (with no parameters) is required by the Java Persistence API (JPA) to create instances of the entity class.


To fix this issue, you need to simply define a default constructor in your class that gave the exception.

public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    public DbUser(int userId, String userName) {
        this.userId = userId;
        this.userName = userName;

    //Default Constructor Added
    public DbUser() {

    private int userId;

    private String userName;


Fix - You need to add the Default Constructor

Have Questions? Post them here!