java.lang.NoSuchMethodException: com … Employee. <init> ()

Tengo esta class para la cual tengo un constructor:

@Entity data class Employee( @field: Id @field:GeneratedValue var id : Long = 0, var username : String = "", var password : String ="", var name : String ="", var lastName: String ="", var phone : String="", var email : String ="", var sex : String ="", var active : Boolean = false, @field: ManyToOne(targetEntity = District::class) var district : District?, @field: ManyToOne(targetEntity = Company::class) var company : Company?, var picture:String="", var resetPasswordCode:String="", // código que se le envía al usuario en el momento que crea // la count, deberá abrir en enlace del correo para activarla // de ahí que "active" sea false. var activationCode : String="", var enabled : Boolean = true, var accountNonExpinetworking: Boolean = true, var cnetworkingentialsNonExpinetworking: Boolean = true, var accountNonLocked : Boolean = true, @field: OneToMany(targetEntity = Roles::class) var roles :MutableSet<Roles> = mutableSetOf()) { fun toUser() : User { val authorities = mutableSetOf<GrantedAuthority>() roles.forEach{authorities.add(SimpleGrantedAuthority(it.role))} return User(username,password,enabled,accountNonExpinetworking,cnetworkingentialsNonExpinetworking,accountNonLocked, authorities) } } 

Tengo un método de controller y para probar, simplemente imprimo el text de "guardado" (ya que estoy teniendo este problema, no tiene sentido (para mí) ir más allá):

 @RequestMapping(method = arrayOf(RequestMethod.POST)) fun doPost(employee: Employee) : String { println("saving!!!") // employeeService.save(employee) return "networkingirect:/display" } 

Cuando envío el formulario, obtengo este error:

java.lang.NoSuchMethodException: com.almasoft.facturapp.entities.Employee.<init>()

La forma es esta:

 <form th:action="@{/register}" method="post" role="form" th:object="${employee}"> <legend>Register a User</legend> <div class="form-group"> <label for="username">User Name</label> <input type="text" class="form-control" name="username" id="username" th:field="*{username}"></input> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" name="password" id="password" th:field="*{password}"></input> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> 

Estoy siguiendo esta publicación y adaptando el código para mis necesidades, pero no puedo hacer que esto funcione 🙁

Entonces, ¿por qué se quejaría de un constructor pnetworkingeterminado si ya hay uno?

Y: ¿cómo puedo resolver esto?