Kotlin avec JPA/Hibernate : le problème de l'absence de constructeur sans paramètres (default constructor hell)
Bonjour à tous ! J'écris en Kotlin depuis environ six mois, et j'ai rencontré un problème avec JPA/Hibernate. J'ai une entité simple :
@Entity
data class User(
@Id @GeneratedValue
val id: Long = 0,
val name: String,
val email: String
)
Au lancement de l'application, Hibernate lève une exception :
org.hibernate.InstantiationException: No default constructor for entity: com.example.User
Je comprends que Hibernate nécessite un constructeur sans paramètres pour créer des objets via la réflexion. Mais en Kotlin, les data classes n'ont pas un tel constructeur si les paramètres n'ont pas de valeurs par défaut. J'ai essayé d'ajouter @NoArg de Jackson, mais cela n'a pas aidé. J'ai aussi entendu parler du plugin kotlin-jpa, mais je ne suis pas sûr de comment le configurer correctement.
Question : comment organiser correctement les entités JPA en Kotlin pour éviter les problèmes d'absence de constructeur par défaut ? Existe-t-il une méthode standard ?