UserEntity.kt
package org.openapitools.entity
import jakarta.persistence.*
@Entity
@Table(name = "users")
class UserEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long = 0,
@Column(unique = true, nullable = false)
var username: String,
@Column(nullable = false)
var password: String, // always stored as a BCrypt hash
@Column(columnDefinition = "TEXT")
var preferences: String? = null, // stored as a JSON string
@OneToMany(mappedBy = "user", cascade = [CascadeType.ALL], orphanRemoval = true)
val recipes: MutableList<RecipeEntity> = mutableListOf(),
)