java.lang.NoSuchMethodException: com … Сотрудник. <init> ()

У меня есть этот класс, для которого у меня есть конструктор:

@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 cuenta, deberá abrir en enlace del correo para activarla // de ahí que "active" sea false. var activationCode : String="", var enabled : Boolean = true, var accountNonExpired: Boolean = true, var credentialsNonExpired: 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,accountNonExpired,credentialsNonExpired,accountNonLocked, authorities) } } 

У меня есть метод контроллера и для тестирования, я просто печатаю «экономящий» текст (поскольку у меня есть эта проблема, для меня нет смысла идти дальше):

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

При отправке формы я получаю эту ошибку:

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

Форма такова:

 <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> 

Я следую этому сообщению и адаптирую код для своих нужд, но я не могу заставить это работать 🙁

Итак, почему он жалуется на конструктор по умолчанию, если он уже есть?

И: как я могу это решить?

 @field: ManyToOne(targetEntity = District::class) var district : District?, @field: ManyToOne(targetEntity = Company::class) var company : Company?, 

Они не имеют значений по умолчанию, поэтому пустой конструктор не генерируется.

Add = null для каждого.

Intereting Posts
Экземпляр экземпляра Kotlin имеет значение null при доступе к Spring-классу Spring Добавление subscribeOn () изменяет тип возвращаемого вида Java 2-минутная задержка иногда при подключении сокета? javascript анонимный объект в kotlin Номер Android: синхронные запросы возвращают null Сохранить аудио на Firebase с Kotlin Android RxJava: объединение двух запросов и выполнение некоторой логики между ними Позиционирование раздутого представления внутри пользовательского макета Назначение отдельного элемента атрибуту значения IntArray в аннотациях Kotlin Kotlin – Как преобразовать String в ByteArray Как обмениваться изображениями на Android с помощью Kotlin? Android Kotlin не может использовать list.sort () с lambda Android: Дождитесь завершения нескольких задач Kotlin JS Переопределение «внешней» функции с необязательными параметрами Использовать методы дооснащения более выразительным способом